summaryrefslogtreecommitdiff
path: root/toolchain/binutils/patches/2.17/502-avr32-bfd-dont-allow-direct-refs-to-bss.patch
diff options
context:
space:
mode:
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-06-08 10:44:01 +0000
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-06-08 10:44:01 +0000
commitac52e3bd03bcaf6ad5c48c01a4697aa201000433 (patch)
treeab9aee6ffb779dd0147f55c0876d42e29802fe90 /toolchain/binutils/patches/2.17/502-avr32-bfd-dont-allow-direct-refs-to-bss.patch
parente87fb5ee5a75b03e8b2e128b611a72e08eab3196 (diff)
add support for the AVR32 platform, namely the ATNGW100 board - joint work with wigyori
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7533 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/binutils/patches/2.17/502-avr32-bfd-dont-allow-direct-refs-to-bss.patch')
-rw-r--r--toolchain/binutils/patches/2.17/502-avr32-bfd-dont-allow-direct-refs-to-bss.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/toolchain/binutils/patches/2.17/502-avr32-bfd-dont-allow-direct-refs-to-bss.patch b/toolchain/binutils/patches/2.17/502-avr32-bfd-dont-allow-direct-refs-to-bss.patch
new file mode 100644
index 0000000000..0a99091a3d
--- /dev/null
+++ b/toolchain/binutils/patches/2.17/502-avr32-bfd-dont-allow-direct-refs-to-bss.patch
@@ -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];