On Fri, Nov 11, 2016 at 4:50 PM, Szabolcs Nagy <szabolcs.n...@arm.com> wrote: > The __cpu_indicator_init and __cpu_model symbols are not safe to use > from shared libgcc_s.so from ifunc resolvers, so since gcc-6, only > the definitions from static libgcc.a are used, however the symbols > are kept in libgcc_s as well for backward compatibility (with > appropriate symbol version). On targets without such backward > compatibility concern add cpuinfo to the static library only (this > avoids running the ctor, reduces libgcc_s size and elf abi concerns > because of gnu symbol versions). > > build tested on x86_64-linux-gnu and x86_64-linux-musl. > > ok to commit? > > i'd like to back port this to gcc-6 because musl dynamic linker > cannot load the libgcc_s.so.1 with the versioned symbols > (not an abi break: those symbols were never used on musl and > the current code does not work). > > libgcc/ChangeLog: > > 2016-11-11 Szabolcs Nagy <szabolcs.n...@arm.com> > > * config.host (i[3456]86-*-musl*, x86_64-*-musl*): Use > i386/t-cpuinfo-static instead of i386/t-cpuinfo. > * config/i386/t-cpuinfo-static: New.
LGTM, it is musl specific, but you know the musl part best ;) Rubber-stamped OK for mainline and backports. Thanks, Uros.