To fix bug 3487, Jie committed a patch to bfin_fix_adjustable, which slightly overshot the mark. We have to return 0 for R_got relocs, as the linker is not prepared to handle relocs of the form "[EMAIL PROTECTED]", it needs a symbol. This was another cause for shared-flat not working, other than the uClinux build system breakage.

Again - why didn't this show up in testing?

Shared-flat is still not working 100%; some programs get segfaults during bootup.


Bernd
--
This footer brought to you by insane German lawmakers.
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif
Index: gas/config/tc-bfin.c
===================================================================
--- gas/config/tc-bfin.c        (revision 1793)
+++ gas/config/tc-bfin.c        (working copy)
@@ -808,6 +808,7 @@ bfin_fix_adjustable (fixS *fixP)
   switch (fixP->fx_r_type)
     {     
   /* Adjust_reloc_syms doesn't know about the GOT.  */
+    case BFD_RELOC_BFIN_GOT:
     case BFD_RELOC_BFIN_PLTPC:
   /* We need the symbol name for the VTABLE entries.  */
     case BFD_RELOC_VTABLE_INHERIT:
Index: gas/ChangeLog.bfin
===================================================================
--- gas/ChangeLog.bfin  (revision 1811)
+++ gas/ChangeLog.bfin  (working copy)
@@ -1,3 +1,8 @@
+2007-09-28  Bernd Schmidt  <[EMAIL PROTECTED]>
+
+       * config/tc-bfin.c (bfin_fix_adjustable): Partially revert the
+       2007-08-23 change; BFD_RELOC_BFIN_GOT is not adjustable.
+
 2007-09-18  Bernd Schmidt  <[EMAIL PROTECTED]>
 
        * config/bfin-parse.y (asm_1): Slightly improve error messages
_______________________________________________
Toolchain-devel mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/toolchain-devel

Reply via email to