dynamic linking with a.out

Ian Lance Taylor ian@zembu.com
Tue Jan 4 17:25:00 GMT 2000


   Date: Tue, 4 Jan 2000 08:32:41 -0800 (PST)
   From: Corey Brenner <coreybrenner@yahoo.com>

   During some work I've been doing with binutils, I've
   found it desirable to be able to do a.out/PIC.  Is
   there support for doing that in the newest binutils?

What do you mean when you say PIC?

The PIC support for the i386 in the binutils is for use with ELF
shared libraries.  If you aren't using ELF shared libraries--which is
certainly the case if you are using a.out--then the code in the
current binutils won't help you.

   Also, I've run into a situation where, in an older
   version of gas, it was legal to do "jmp %edx" (this
   is an i386 target), but with a version about a month
   old, the assembler complains that the operand (%edx)
   is invalid.  Is there a way to jump to a register
   (to do, say, function-call return)?  If not, I'm
   assuming that gcc is the place I'd look to re-engineer
   the way the stack is laid out when function calls are
   made and returned from?

The syntax is `jmp *%edx'.  gas used to accept `jmp %edx', but it is
now much more strict about checking for illegal i386 operands.

Ian


More information about the Binutils mailing list