Bug gas/1896
* 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.
This commit is contained in:
parent
992e649a8b
commit
88856d20cb
|
@ -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>
|
2005-11-23 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
Thiemo Seufer <ths@networkno.de>
|
Thiemo Seufer <ths@networkno.de>
|
||||||
|
|
||||||
|
|
|
@ -8396,12 +8396,8 @@ pa_lsym (unused)
|
||||||
any fixup which creates entries in the DLT (eg they use "T" field
|
any fixup which creates entries in the DLT (eg they use "T" field
|
||||||
selectors).
|
selectors).
|
||||||
|
|
||||||
Reject reductions involving symbols with external scope; such
|
??? Reject reductions involving symbols with external scope; such
|
||||||
reductions make life a living hell for object file editors.
|
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. */
|
|
||||||
|
|
||||||
int
|
int
|
||||||
hppa_fix_adjustable (fixp)
|
hppa_fix_adjustable (fixp)
|
||||||
|
@ -8414,17 +8410,6 @@ hppa_fix_adjustable (fixp)
|
||||||
|
|
||||||
hppa_fix = (struct hppa_fix_struct *) fixp->tc_fix_data;
|
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
|
#ifdef OBJ_ELF
|
||||||
/* LR/RR selectors are implicitly used for a number of different relocation
|
/* 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)
|
types. We must ensure that none of these types are adjusted (see below)
|
||||||
|
|
|
@ -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>
|
2005-11-23 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
Thiemo Seufer <ths@networkno.de>
|
Thiemo Seufer <ths@networkno.de>
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
|
|
||||||
RELOCATION RECORDS FOR .*
|
RELOCATION RECORDS FOR .*
|
||||||
.*
|
.*
|
||||||
0+00.*(here|\.data)
|
0+00.*(here|\.data|\$DATA\$)
|
||||||
0+08.*xtrn
|
0+08.*xtrn
|
||||||
0+10.*(sym|\.data(\+0x0+10)?)
|
0+10.*(sym|(\.data|\$DATA\$)(\+0x0+10)?)
|
||||||
#...
|
#...
|
||||||
Contents of section (\.data|\$DATA\$):
|
Contents of section (\.data|\$DATA\$):
|
||||||
0000 00000000 11111111 00000000 22222222[ ]+................[ ]*
|
0000 00000000 11111111 00000000 22222222[ ]+................[ ]*
|
||||||
|
|
|
@ -83,14 +83,14 @@ OFFSET +TYPE +VALUE *
|
||||||
[0-9a-f]+ [^ ]* +uh8
|
[0-9a-f]+ [^ ]* +uh8
|
||||||
[0-9a-f]+ [^ ]* +uh9
|
[0-9a-f]+ [^ ]* +uh9
|
||||||
[0-9a-f]+ [^ ]* +uh9
|
[0-9a-f]+ [^ ]* +uh9
|
||||||
[0-9a-f]+ [^ ]* +(ld1|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(ld1|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +(ld2|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(ld2|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +(ld3|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(ld3|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +(ld4|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(ld4|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +ud5
|
[0-9a-f]+ [^ ]* +ud5
|
||||||
[0-9a-f]+ [^ ]* +(gd6|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(gd6|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +(gd7|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(gd7|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +(ld8|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(ld8|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +(ld8|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(ld8|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +(ld9|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(ld9|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
[0-9a-f]+ [^ ]* +(ld9|\.text)(\+0x[0-9a-f]+)?
|
[0-9a-f]+ [^ ]* +(ld9|\.text|\$CODE\$)(\+0x[0-9a-f]+)?
|
||||||
|
|
|
@ -636,9 +636,9 @@ proc do_apply_test {} {
|
||||||
|
|
||||||
while 1 {
|
while 1 {
|
||||||
expect {
|
expect {
|
||||||
-re "^ +\[0-9\]+ 0000 00000000\[^\n\]*\n" { set x [expr $x+1] }
|
-re "^ +\[0-9\]+ 0000 00000044\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
-re "^ +\[0-9\]+ 0004 00000000\[^\n\]*\n" { set x [expr $x+1] }
|
-re "^ +\[0-9\]+ 0004 00000058\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
-re "^ +\[0-9\]+ 0008 00000000\[^\n\]*\n" { set x [expr $x+1] }
|
-re "^ +\[0-9\]+ 0008 0000006C\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
-re "\[^\n\]*\n" { }
|
-re "\[^\n\]*\n" { }
|
||||||
timeout { perror "timeout\n"; break }
|
timeout { perror "timeout\n"; break }
|
||||||
eof { break }
|
eof { break }
|
||||||
|
|
Loading…
Reference in New Issue