ld --embedded-relocs for m68k

Ian Lance Taylor ian@zembu.com
Thu Jun 8 13:31:00 GMT 2000


   Date: Thu, 8 Jun 00 13:49:11 CDT
   From: msokolov@ivan.Harhan.ORG (Michael Sokolov)

   Was the MIPS --embedded-relocs support intended to be general, or was it a
   solution for some specific oddball embedded system?

It was a solution for a specific oddball embedded system: the General
Magic MagicLink system.  General Magic started on the m68k, writing
relocateable code which could run on a Mac.  They switched over to
MIPS, and wanted relocateable code there as well.

The problem with using a section index is that it implies that you
need a section table.  Think about converting a program to S-records.
Whatever table you use must be recorded in the program image somehow.

For MIPS --embedded-relocs I split up text and data, and required the
linker script and the startup code to work in tandem to record that
information for proper relocation at run time.  See
ld/testsuite/ld-empic/runtesti.s.

If you need to support multiple sections, you need a more complex
solution.  If you need to support arbitrary numbers of sections, you
need to write a section table somewhere, perhaps at the start of the
relocation information.  But I don't know how you pass in the runtime
addresses of the various sections.  That is bound to be system
specific.

Ian


More information about the Binutils mailing list