patches/binutils/2.15/200-arm-undef-imm.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun May 03 09:50:16 2009 +0000 (2009-05-03)
branchnewlib
changeset 1366 5e5d1e6f55d3
parent 745 e445c00d134d
permissions -rw-r--r--
Update the newlib devel branch with stuff from /trunk@1498.

-------- diffstat follows --------
/devel/newlib/configure | 336 176 160 0 +++++++------
/devel/newlib/Makefile.in | 12 3 9 0 -
/devel/newlib/scripts/build/kernel/linux.sh | 2 1 1 0
/devel/newlib/scripts/build/internals.sh | 1 0 1 0 -
/devel/newlib/scripts/build/libc/eglibc.sh | 1 0 1 0 -
/devel/newlib/scripts/build/mpfr.sh | 2 1 1 0
/devel/newlib/scripts/functions | 111 5 106 0 ----
/devel/newlib/scripts/config.guess | 7 5 2 0 +
/devel/newlib/scripts/config.sub | 3 2 1 0 +
/devel/newlib/scripts/saveSample.sh.in | 4 2 2 0
/devel/newlib/docs/overview.txt | 8 6 2 0 +
/devel/newlib/samples/armeb-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/sh4-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/x86_64-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-elf/crosstool.config | 12 3 9 0 -
/devel/newlib/samples/armeb-unknown-eabi/crosstool.config | 2 0 2 0 -
/devel/newlib/samples/arm-unknown-linux-gnueabi/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/ia64-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/x86_64-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/armeb-unknown-linux-gnueabi/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/i686-nptl-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/mips-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-iphone-linux-gnueabi/crosstool.config | 8 4 4 0
/devel/newlib/samples/armeb-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/i586-geode-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/mips-unknown-elf/crosstool.config | 2 0 2 0 -
/devel/newlib/samples/powerpc-405-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-eabi/crosstool.config | 12 3 9 0 -
/devel/newlib/samples/mipsel-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc64-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/alphaev56-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-860-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/config/kernel/linux.in | 108 2 106 0 ----
/devel/newlib/config/global/ct-behave.in | 22 13 9 0 +
/devel/newlib/config/global/download.in | 210 15 195 0 +-------
/devel/newlib/config/libc/glibc.in | 7 7 0 0 +
/devel/newlib/config/libc/glibc-eglibc.in-common | 15 14 1 0 +
45 files changed, 382 insertions(+), 839 deletions(-)
yann@402
     1
From http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/config/tc-arm.c.diff?r1=1.168&r2=1.169&cvsroot=src
yann@402
     2
See also http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-July/023128.html,
yann@402
     3
"[CRITICAL PATCH] 2.6: fix silent build error]"
yann@402
     4
yann@402
     5
Revision 1.169, Fri Jul 2 11:12:29 2004 UTC (19 hours, 4 minutes ago) by nickc
yann@402
     6
Branch: MAIN
yann@402
     7
CVS Tags: binutils_latest_snapshot, HEAD
yann@402
     8
Changes since 1.168: +14 -1 lines
yann@402
     9
yann@402
    10
(md_apply_fix3:BFD_RELOC_ARM_IMMEDIATE): Do not allow values which have come
yann@402
    11
from undefined symbols.
yann@402
    12
Always consider this fixup to have been processed as a reloc cannot be
yann@402
    13
generated for it.
yann@402
    14
yann@402
    15
yann@402
    16
===================================================================
yann@402
    17
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
yann@402
    18
retrieving revision 1.168
yann@402
    19
retrieving revision 1.169
yann@402
    20
diff -u -r1.168 -r1.169
yann@402
    21
--- src/gas/config/tc-arm.c	2004/04/30 10:51:12	1.168
yann@402
    22
+++ src/gas/config/tc-arm.c	2004/07/02 11:12:29	1.169
yann@402
    23
@@ -12186,6 +12186,20 @@
yann@402
    24
   switch (fixP->fx_r_type)
yann@402
    25
     {
yann@402
    26
     case BFD_RELOC_ARM_IMMEDIATE:
yann@402
    27
+      /* We claim that this fixup has been processed here,
yann@402
    28
+	 even if in fact we generate an error because we do
yann@402
    29
+	 not have a reloc for it, so tc_gen_reloc will reject it.  */
yann@402
    30
+      fixP->fx_done = 1;
yann@402
    31
+
yann@402
    32
+      if (fixP->fx_addsy
yann@402
    33
+	  && ! S_IS_DEFINED (fixP->fx_addsy))
yann@402
    34
+	{
yann@402
    35
+	  as_bad_where (fixP->fx_file, fixP->fx_line,
yann@402
    36
+			_("undefined symbol %s used as an immediate value"),
yann@402
    37
+			S_GET_NAME (fixP->fx_addsy));
yann@402
    38
+	  break;
yann@402
    39
+	}
yann@402
    40
+
yann@402
    41
       newimm = validate_immediate (value);
yann@402
    42
       temp = md_chars_to_number (buf, INSN_SIZE);
yann@402
    43
 
yann@402
    44
@@ -12202,7 +12216,6 @@
yann@402
    45
 
yann@402
    46
       newimm |= (temp & 0xfffff000);
yann@402
    47
       md_number_to_chars (buf, (valueT) newimm, INSN_SIZE);
yann@402
    48
-      fixP->fx_done = 1;
yann@402
    49
       break;
yann@402
    50
 
yann@402
    51
     case BFD_RELOC_ARM_ADRL_IMMEDIATE: