On Thursday, September 15, 2011, Måns Rullgård <[email protected]> wrote: > Sean McGovern <[email protected]> writes: > >> On Wednesday, September 14, 2011, Måns Rullgård <[email protected]> wrote: >>> Sean McGovern <[email protected]> writes: >>> >>>> On Tue, Sep 13, 2011 at 10:38 PM, Diego Biurrun <[email protected]> wrote: >>>>> On Tue, Sep 06, 2011 at 12:42:09AM -0400, Sean McGovern wrote: >>>>>> The Solaris linker will correctly mark an executable with each >>>>>> instruction set it encounters when building an >>>>>> executable. However, our libraries have their own functionality >>>>>> and guards for processor-specific code. >>>>>> >>>>>> So, instead suppress creation of the hardware capabilities ELF section. >>>>>> --- a/configure >>>>>> +++ b/configure >>>>>> @@ -2369,6 +2369,7 @@ case $target_os in >>>>>> enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS" >>>>>> network_extralibs="-lsocket -lnsl" >>>>>> add_cppflags -D__EXTENSIONS__ >>>>>> + echo "hwcap_1 = OVERRIDE;" > mapfile && add_ldflags -Wl,-M,mapfile >>>>>> nm_opts='-P -g' >>>>>> ;; >>>>> >>>>> It seems to me this is specific to the Sun Studio compiler/linker. >>>>> We have a section for that compiler in configure. Moving this >>>>> block there would contain the hack to the only place where it is >>>>> really needed. >>>> >>>> You are correct that this is really a Sun Studio requirement. However, >>>> configure does not know $arch until later in the script. >>> >>> There is a late block of compiler-specific stuff too, probably for >>> reasons like this. >> >> So is it now reasonable to go ahead with the original patch as is? > > I don't think so. It is needed only on solaris/x86 when using the > sunstudio linker. What linker does gcc on solaris use? > > -- > Måns Rullgård > [email protected] > _______________________________________________ > libav-devel mailing list > [email protected] > https://lists.libav.org/mailman/listinfo/libav-devel >
Maybe I described it wrong -- both gcc and Solaris Studio use the same linker (/usr/ccs/bin/ld) but different assemblers. The Sun assembler instruments it's output such that the linker can build and embed the instruction set list correctly. GNU gas does not do this on Solaris. -- Sean
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
