Re-ping with a CC to the Aarch64 maintainers. Steve Ellcey sell...@cavium.com
On Tue, 2017-10-24 at 11:11 -0700, Steve Ellcey wrote: > Ping. > > Steve Ellcey > sell...@cavium.com > > On Tue, 2017-10-03 at 11:57 -0700, Steve Ellcey wrote: > > > > On Mon, 2017-10-02 at 15:38 +0100, Szabolcs Nagy wrote: > > > > > > > > > > > > looks good to me, but i cannot approve. > > > > > > (this will make libatomic depend on ifuncs on aarch64*-linux-gnu.) > > If you build GCC with default options, ifunc is enabled on aarch64 > > and > > used by libatomic but if you configure with '--disable-gnu- > > indirect- > > function' then GCC will not recognize the 'resolver' attribute and > > libatomic will build the 'old' way and not use IFUNC's. > > > > It seems like using '--disable-version-specific-runtime-libs' should > > allow GCC to recognize the 'resolver' attribute for IFUNCs but to not > > use them when building libatomic but when I tried that I got ifuncs > > in > > libatomic anyway. I think that is a bug and I will look into it some > > more. > > > > The recent alias checking improvements made to GCC and which caused > > some glibc build problems also caused the ifunc check in libatomic to > > fail. That problem has been fixed but it involved a change to > > libatomic/ibatomic_i.h that conflicted with this patch so I am > > including an updated version that will apply cleanly to the top of > > tree. Only libatomic_i.h changed. > > > > Steve Ellcey > > sell...@cavium.com > > > > 2017-10-03 Steve Ellcey <sell...@cavium.com> > > > > * Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and > > libatomic_la_LIBADD. > > * config/linux/aarch64/host-config.h: New file. > > * configure.ac (IFUNC_RESOLVER_ARGS): Define. > > (ARCH_AARCH64_LINUX): New conditional for IFUNC builds. > > * configure.tgt (aarch64): Set ARCH and try_ifunc. > > (aarch64*-*-linux*) Update config_path. > > (aarch64*-*-linux*) Set IFUNC_RESOLVER_ARGS. > > * libatomic_i.h (GEN_SELECTOR): Add IFUNC_RESOLVER_ARGS > > argument. > > * Makefile.in: Regenerate. > > * auto-config.h.in: Regenerate. > > * configure: Regenerate.