Symbol versioning question with ld
Gordon.Schumacher@seagate.com
Gordon.Schumacher@seagate.com
Wed Jun 13 22:48:00 GMT 2007
Brian Dessent <brian@dessent.net> wrote on 06/13/2007 04:29:06 PM:
# I think you underestimate what all is involved with an ABI. It's not
# just a matter of "link this symbol to this." A function's arguments
# might have changed in type or in number; types might have different
# sizes, structs different layouts, and so on. These aren't things that
# the linker has any control over, so in order to produce code that links
# to an older version of a library, you need the headers from that older
# version installed so that the compiler sees definitions that correspond
# to the symbols that the linker will use. And there's no practical way
# to have multiple versions of the same header installed, thus you can
# only really link to whatever the library defines as the current version.
I'd not considered that; you're right. :)
# It sounds like you're making it harder than it should be. Just install
# an older distro under VMware. (Or dual-boot with a separate partition,
# or whatever.)
It's unfortunately a little more complex than that - I at least need to
build my own compiler because the code in question requires a newer
version of GCC than would come with an old distro. (I tried something
like this earlier...)
That does suggest that I was on the right track there, though.
More information about the Binutils
mailing list