Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/gnu/dist/bfd Garbage-collect the code that created old-forma...
details: https://anonhg.NetBSD.org/src/rev/e7629126ee96
branches: trunk
changeset: 519254:e7629126ee96
user: thorpej <thorpej%NetBSD.org@localhost>
date: Fri Dec 14 01:12:24 2001 +0000
description:
Garbage-collect the code that created old-format PLT entires.
The NetBSD/alpha ld.elf_so understands both formats, now.
diffstat:
gnu/dist/bfd/elf64-alpha.c | 21 ---------------------
1 files changed, 0 insertions(+), 21 deletions(-)
diffs (44 lines):
diff -r 447d98cc880c -r e7629126ee96 gnu/dist/bfd/elf64-alpha.c
--- a/gnu/dist/bfd/elf64-alpha.c Fri Dec 14 00:53:06 2001 +0000
+++ b/gnu/dist/bfd/elf64-alpha.c Fri Dec 14 01:12:24 2001 +0000
@@ -1012,16 +1012,9 @@
#define PLT_HEADER_WORD4 0x6b7b0000 /* jmp $27,($27) */
#define PLT_ENTRY_SIZE 12
-#ifdef __NetBSD__
-/* XXX. XXX. For NetBSD 1.3 compatibility - should be fixed better */
-#define PLT_ENTRY_WORD1 0x279f0000 /* ldah $28, 0($31) */
-#define PLT_ENTRY_WORD2 0x239c0000 /* lda $28, 0($28) */
-#define PLT_ENTRY_WORD3 0xc3e00000 /* br $31, plt0 */
-#else
#define PLT_ENTRY_WORD1 0xc3800000 /* br $28, plt0 */
#define PLT_ENTRY_WORD2 0
#define PLT_ENTRY_WORD3 0
-#endif
#define MAX_GOT_ENTRIES (64*1024 / 8)
@@ -3117,23 +3110,9 @@
{
unsigned insn1, insn2, insn3;
-#ifdef __NetBSD__
-/* XXX. XXX. For NetBSD 1.3 compatibility - should be fixed better */
- long hi, lo;
-
- /* decompose the reloc offset for the plt for ldah+lda */
- hi = plt_index * sizeof(Elf64_External_Rela);
- lo = ((hi & 0xffff) ^ 0x8000) - 0x8000;
- hi = (hi - lo) >> 16;
-
- insn1 = PLT_ENTRY_WORD1 | (hi & 0xffff);
- insn2 = PLT_ENTRY_WORD2 | (lo & 0xffff);
- insn3 = PLT_ENTRY_WORD3 | ((-(h->plt_offset + 12) >> 2) & 0x1fffff);
-#else
insn1 = PLT_ENTRY_WORD1 | ((-(h->plt_offset + 4) >> 2) & 0x1fffff);
insn2 = PLT_ENTRY_WORD2;
insn3 = PLT_ENTRY_WORD3;
-#endif
bfd_put_32 (output_bfd, insn1, splt->contents + h->plt_offset);
bfd_put_32 (output_bfd, insn2, splt->contents + h->plt_offset + 4);
Home |
Main Index |
Thread Index |
Old Index