diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-06-12 22:05:32 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-06-12 22:05:32 +0000 |
commit | 49144784121822b6ff5e7c64ea72960ce6fa7faf (patch) | |
tree | 9fe9161d8e7960e42c96a1d841856e9f4ab3ec81 /bfd/xcofflink.c | |
parent | 77dd44697f51b4e836f6102f1e5e92b0a58f981c (diff) | |
download | gdb-49144784121822b6ff5e7c64ea72960ce6fa7faf.zip gdb-49144784121822b6ff5e7c64ea72960ce6fa7faf.tar.gz gdb-49144784121822b6ff5e7c64ea72960ce6fa7faf.tar.bz2 |
* xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly
for _ptrgl, and treat it as global linkage code.
PR 9860.
Diffstat (limited to 'bfd/xcofflink.c')
-rw-r--r-- | bfd/xcofflink.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 88a7f34..1ff4df0 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -6215,7 +6215,11 @@ _bfd_ppc_xcoff_relocate_section (output_bfd, info, input_bfd, pnext = contents + (rel->r_vaddr - input_section->vma) + 4; next = bfd_get_32 (input_bfd, pnext); - if (h->smclas == XMC_GL) + + /* The _ptrgl function is magic. It is used by the AIX + compiler to call a function through a pointer. */ + if (h->smclas == XMC_GL + || strcmp (h->root.root.string, "._ptrgl") == 0) { if (next == 0x4def7b82 /* cror 15,15,15 */ || next == 0x4ffffb82) /* cror 31,31,31 */ |