This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][m68k] Support generation of multiple GOTs


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]