On Thursday, September 15, 2011, Sean McGovern <[email protected]> wrote: > > > 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
Not to sound buzzword-compliant or anything but how should I be moving forward on this patch. If it's not welcome then I should just drop both it and the Solaris Studio FATE runs and stop pretending that we build with anything that isn't gcc? -- Sean
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
