[PATCH][m68k] Support generation of multiple GOTs
Maxim Kuvyrkov
maxim@codesourcery.com
Mon Jun 30 15:34:00 GMT 2008
Andreas Schwab wrote:
> Andreas Schwab <schwab@suse.de> writes:
>
>> Maxim Kuvyrkov <maxim@codesourcery.com> writes:
>>
>>> @@ -1689,7 +3101,64 @@ elf_m68k_relocate_section (output_bfd, i
>>> in the global offset table. */
>>> if (h != NULL
>>> && strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0)
>>> - break;
>>> + {
>>> + BFD_ASSERT (rel->r_addend == 0);
>> This assertion is bogus. It it perfectly valid for references to
>> _GLOBAL_OFFSET_TABLE_ to have an addend, it's the normal PIC setup on
>> m68k:
>>
>> lea (%pc,_GLOBAL_OFFSET_TABLE_@GOTPC),%a5
>
> Tested on m68k-linux and checked in as obvious.
Hm, I didn't know that m68k uses 'lea' for GOT pointer initialization.
Thanks for fixing this.
--
Maxim
More information about the Binutils
mailing list