SOURCES: crossavr32-binutils-bfd-dont-allow-direct-refs-to-bss.pat...

bszx bszx at pld-linux.org
Mon Jul 23 22:12:59 CEST 2007


Author: bszx                         Date: Mon Jul 23 20:12:59 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- from
http://www.avr32linux.org/twiki/bin/viewfile/Main/DevelopmentTools?rev=1;filename=502-avr32-bfd-dont-allow-direct-refs-to-bss.patch.gz

---- Files affected:
SOURCES:
   crossavr32-binutils-bfd-dont-allow-direct-refs-to-bss.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/crossavr32-binutils-bfd-dont-allow-direct-refs-to-bss.patch
diff -u /dev/null SOURCES/crossavr32-binutils-bfd-dont-allow-direct-refs-to-bss.patch:1.1
--- /dev/null	Mon Jul 23 22:12:59 2007
+++ SOURCES/crossavr32-binutils-bfd-dont-allow-direct-refs-to-bss.patch	Mon Jul 23 22:12:54 2007
@@ -0,0 +1,19 @@
+Index: binutils/bfd/elf32-avr32.c
+===================================================================
+--- binutils/bfd/elf32-avr32.c	(revision 24565)
++++ binutils/bfd/elf32-avr32.c	(working copy)
+@@ -2446,9 +2446,13 @@
+ 	     after the relaxation code is done, so we can't really
+ 	     trust that our "distance" is correct.  There's really no
+ 	     easy solution to this problem, so we'll just disallow
+-	     direct references to SEC_DATA sections.  */
++	     direct references to SEC_DATA sections.
++	     
++	     Oh, and .bss isn't actually SEC_DATA, so we disallow
++	     !SEC_HAS_CONTENTS as well. */
+ 	  if (!dynamic && defined
+ 	      && !(sym_sec->flags & SEC_DATA)
++	      && (sym_sec->flags & SEC_HAS_CONTENTS)
+ 	      && next_state->direct)
+ 	    {
+ 	      next_state = &relax_state[next_state->direct];
================================================================


More information about the pld-cvs-commit mailing list