patches/binutils/2.15/750-binutils-arm-undef-imm.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 13 10:32:38 2008 +0000 (2008-07-13)
changeset 645 8e58024f8e37
permissions -rw-r--r--
Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

/trunk/scripts/build/binutils.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 2 1 1 0 +-
/trunk/scripts/build/cc_gcc.sh | 6 3 3 0 +++---
3 files changed, 5 insertions(+), 5 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: