Subject: Re: ld: symbol __PROCEDURE_LINKAGE_TABLE_ remains undefined
To: Todd Vierling <>
From: Matt Thomas <>
List: tech-toolchain
Date: 08/27/1998 16:16:31
At 04:04 PM 8/27/98 , Todd Vierling wrote:
>On Thu, 27 Aug 1998, Todd Vierling wrote:
>: - GNU binutils doesn't even handle vax a.out, much less ELF.  (It'll
>:   understand the headers, but there is no assemble/disassemble engine.)
>s/binutils/bfd/ - the GNU assembler (part of binutils) has an assemble
>engine, but it would need significant work to make it PIC/shlib capable.

Actually, it takes about 100 lines of code.  (the VAX addressing modes
makes this much simpler than one might otherwise expect).  Fortunately
gcc doesn't emit any code that is inherently non-PIC other than comparing
function address to literals[1].  And it doesn't use deferred PC-relative
addressing.  Since means that I just needed to change gas to use another
level of indirection when accessing global data when in PIC mode.

But I think I have successfully done that.  So once binutils gets updated
to 2.9.1 I'll merge in my changes and we can ignore the old toolchain
for VAX.  
Matt Thomas               Internet:
3am Software Foundry      WWW URL:
Sunnyvale, CA             Disclaimer: I avow all knowledge of this message