diff options
author | Geoffrey Keating <geoffk@geoffk.org> | 2000-08-16 00:34:19 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@geoffk.org> | 2000-08-16 00:34:19 +0000 |
commit | 31612ca61ad1b6f671cae51eef0872c4bf3ad6bf (patch) | |
tree | 3cd65d1e08c5729c46be6973bb6e73451bf5a445 /bfd/xcofflink.c | |
parent | 0d10e18267c6476627a1881c24bb6e364368f74a (diff) | |
download | gdb-31612ca61ad1b6f671cae51eef0872c4bf3ad6bf.zip gdb-31612ca61ad1b6f671cae51eef0872c4bf3ad6bf.tar.gz gdb-31612ca61ad1b6f671cae51eef0872c4bf3ad6bf.tar.bz2 |
* xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
to the list of NOPs we recognize after a branch-and-link.
Use the ori NOP when one is needed.
* coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation
for large archives.
Diffstat (limited to 'bfd/xcofflink.c')
-rw-r--r-- | bfd/xcofflink.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 2d03fa4..f518fdf 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -6577,13 +6577,14 @@ _bfd_ppc_xcoff_relocate_section (output_bfd, info, input_bfd, || strcmp (h->root.root.string, "._ptrgl") == 0) { if (next == 0x4def7b82 /* cror 15,15,15 */ - || next == 0x4ffffb82) /* cror 31,31,31 */ + || next == 0x4ffffb82 /* cror 31,31,31 */ + || next == 0x60000000) /* ori r0,r0,0 */ bfd_put_32 (input_bfd, 0x80410014, pnext); /* lwz r1,20(r1) */ } else { if (next == 0x80410014) /* lwz r1,20(r1) */ - bfd_put_32 (input_bfd, 0x4ffffb82, pnext); /* cror 31,31,31 */ + bfd_put_32 (input_bfd, 0x60000000, pnext); /* ori r0,r0,0 */ } } |