On Mon, Oct 04, 2004 at 09:20:14AM -0400, Daniel Jacobowitz wrote: > On Fri, Sep 24, 2004 at 03:44:39PM -0700, Steve Langasek wrote: > > Package: gcc-3.3 > > Version: 1:3.3.4-12 > > Using this version of gcc-3.3, trying to combine '-static' with > > '-Wl,-Bdynamic' as linker options to gcc on my alpha results in > > unusable binaries that have an embedded linker path of /usr/lib/ld.so > > instead of /lib/ld-linux.so.2. If I use '-Wl,-Bstatic' and > > '-Wl,-Bdynamic' instead, the resulting output is sane, so this looks > > like a problem with gcc's invocation of ld. > Binutils doesn't know where the dynamic linker is. GCC tells it, but > only if you tell GCC that you're using dynamic linking by not > specifying -static. This isn't the only change - you'll get different > startfiles, for instance, and you may get a different selection of > -lgcc_s/-lgcc/-lgcc_eh. > What are you trying to accomplish by lying to GCC about your link? I was trying to get certain libraries linked dynamically, and certain others linked statically (specifically for vetting a certain static lib). If this should only be done using -Wl,-B options, I can certainly live with that; it makes sense that gcc wouldn't know that certain -Wl options interfere with -static, anyway. It just caught me off-guard when this happened, as I assumed -static and -Wl,-Bstatic could be used fairly interchangeably and there wasn't anything in the docs to make me think otherwise. -- Steve Langasek postmodern programmer
Attachment:
signature.asc
Description: Digital signature