2007-06-28 07:20:42 +00:00
|
|
|
Index: binutils-2.17/bfd/elf32-avr32.c
|
2007-06-08 10:44:01 +00:00
|
|
|
===================================================================
|
2007-06-28 07:20:42 +00:00
|
|
|
--- binutils-2.17.orig/bfd/elf32-avr32.c 2007-06-28 09:19:38.494384416 +0200
|
|
|
|
+++ binutils-2.17/bfd/elf32-avr32.c 2007-06-28 09:19:38.682355840 +0200
|
|
|
|
@@ -2449,9 +2449,13 @@
|
2007-06-08 10:44:01 +00:00
|
|
|
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];
|