[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