Bug gas/1896
authorDave Anglin <dave.anglin@nrc.ca>
Fri, 25 Nov 2005 02:08:22 +0000 (02:08 +0000)
committerDave Anglin <dave.anglin@nrc.ca>
Fri, 25 Nov 2005 02:08:22 +0000 (02:08 +0000)
* config/tc-hppa.c (hppa_fix_adjustable): Don't reject for reduction
R_HPPA relocations that are 32-bits wide.
* gas/all/redef2.d: Allow "$DATA$" as well as ".data" in matches.
* gas/all/weakref1.d: Allow "$CODE$" as well as ".text" in matches.
* gas/hppa/reloc/reloc.exp: Adjust regexp for new output.

gas/ChangeLog
gas/config/tc-hppa.c
gas/testsuite/ChangeLog
gas/testsuite/gas/all/redef2.d
gas/testsuite/gas/all/weakref1.d
gas/testsuite/gas/hppa/reloc/reloc.exp

index 04d9727f56e90c515f03748711b2893a45e6cf4e..9044220deda62d4dd0c7cfdfb609bfd1f42ea1b6 100644 (file)
@@ -1,3 +1,9 @@
+2005-11-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       Bug gas/1896
+       * config/tc-hppa.c (hppa_fix_adjustable): Don't reject for reduction
+       R_HPPA relocations that are 32-bits wide.
+
 2005-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
            Thiemo Seufer <ths@networkno.de>
 
index bcf5654ae1ccf63aa784713de4b4556f751b8ae8..8ae5a57e9039756f9a8c295f7f5b44baa72ad48e 100644 (file)
@@ -8396,12 +8396,8 @@ pa_lsym (unused)
    any fixup which creates entries in the DLT (eg they use "T" field
    selectors).
 
-   Reject reductions involving symbols with external scope; such
-   reductions make life a living hell for object file editors.
-
-   FIXME.  Also reject R_HPPA relocations which are 32bits wide in
-   the code space.  The SOM BFD backend doesn't know how to pull the
-   right bits out of an instruction.  */
+   ??? Reject reductions involving symbols with external scope; such
+   reductions make life a living hell for object file editors.  */
 
 int
 hppa_fix_adjustable (fixp)
@@ -8414,17 +8410,6 @@ hppa_fix_adjustable (fixp)
 
   hppa_fix = (struct hppa_fix_struct *) fixp->tc_fix_data;
 
-#ifdef OBJ_SOM
-  /* Reject reductions of symbols in 32bit relocs unless they
-     are fake labels.  */
-  if (fixp->fx_r_type == R_HPPA
-      && hppa_fix->fx_r_format == 32
-      && strncmp (S_GET_NAME (fixp->fx_addsy),
-                 FAKE_LABEL_NAME,
-                 strlen (FAKE_LABEL_NAME)))
-    return 0;
-#endif
-
 #ifdef OBJ_ELF
   /* LR/RR selectors are implicitly used for a number of different relocation
      types.  We must ensure that none of these types are adjusted (see below)
index a2a665e90b860f59e8ca484e31bfeca65e349d9b..ea982efecdad394946d959c342b089016a82f2dd 100644 (file)
@@ -1,3 +1,10 @@
+2005-11-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       Bug gas/1896
+       * gas/all/redef2.d: Allow "$DATA$" as well as ".data" in matches.
+       * gas/all/weakref1.d: Allow "$CODE$" as well as ".text" in matches.
+       * gas/hppa/reloc/reloc.exp: Adjust regexp for new output.
+
 2005-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
            Thiemo Seufer <ths@networkno.de>
 
index 328f7e57533a2085a0a35cfaf464e01e75e75632..244d33dd68024fb1f50fb233eea45381b54eedc4 100644 (file)
@@ -5,9 +5,9 @@
 
 RELOCATION RECORDS FOR .*
 .*
-0+00.*(here|\.data)
+0+00.*(here|\.data|\$DATA\$)
 0+08.*xtrn
-0+10.*(sym|\.data(\+0x0+10)?)
+0+10.*(sym|(\.data|\$DATA\$)(\+0x0+10)?)
 #...
 Contents of section (\.data|\$DATA\$):
  0000 00000000 11111111 00000000 22222222[     ]+................[     ]*
index dadd2800339dca6f58ec89b9c88b65794bbee8d2..ee37d977009b6d688021e78b7bb0b55e6a1713ea 100644 (file)
@@ -83,14 +83,14 @@ OFFSET +TYPE +VALUE *
 [0-9a-f]+ [^ ]*  +uh8
 [0-9a-f]+ [^ ]*  +uh9
 [0-9a-f]+ [^ ]*  +uh9
-[0-9a-f]+ [^ ]*  +(ld1|\.text)(\+0x[0-9a-f]+)?
-[0-9a-f]+ [^ ]*  +(ld2|\.text)(\+0x[0-9a-f]+)?
-[0-9a-f]+ [^ ]*  +(ld3|\.text)(\+0x[0-9a-f]+)?
-[0-9a-f]+ [^ ]*  +(ld4|\.text)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(ld1|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(ld2|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(ld3|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(ld4|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
 [0-9a-f]+ [^ ]*  +ud5
-[0-9a-f]+ [^ ]*  +(gd6|\.text)(\+0x[0-9a-f]+)?
-[0-9a-f]+ [^ ]*  +(gd7|\.text)(\+0x[0-9a-f]+)?
-[0-9a-f]+ [^ ]*  +(ld8|\.text)(\+0x[0-9a-f]+)?
-[0-9a-f]+ [^ ]*  +(ld8|\.text)(\+0x[0-9a-f]+)?
-[0-9a-f]+ [^ ]*  +(ld9|\.text)(\+0x[0-9a-f]+)?
-[0-9a-f]+ [^ ]*  +(ld9|\.text)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(gd6|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(gd7|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(ld8|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(ld8|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(ld9|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
+[0-9a-f]+ [^ ]*  +(ld9|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
index 652e2560f6a7cfbdc50b4c6e2269909173d687f4..c1b9fa9aa14ec067ed4a3c727a6c561ace35274e 100644 (file)
@@ -636,9 +636,9 @@ proc do_apply_test {} {
 
     while 1 {
        expect {
-           -re "^ +\[0-9\]+ 0000 00000000\[^\n\]*\n"   { set x [expr $x+1] }
-           -re "^ +\[0-9\]+ 0004 00000000\[^\n\]*\n"   { set x [expr $x+1] }
-           -re "^ +\[0-9\]+ 0008 00000000\[^\n\]*\n"   { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0000 00000044\[^\n\]*\n"   { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0004 00000058\[^\n\]*\n"   { set x [expr $x+1] }
+           -re "^ +\[0-9\]+ 0008 0000006C\[^\n\]*\n"   { set x [expr $x+1] }
            -re "\[^\n\]*\n"                            { }
            timeout                             { perror "timeout\n"; break }
            eof                                 { break }