summaryrefslogtreecommitdiff
path: root/bfd/elfxx-ia64.c
diff options
context:
space:
mode:
authornobody <>2003-03-08 00:00:32 +0000
committernobody <>2003-03-08 00:00:32 +0000
commitdf12d73d19b31ec578eb6be37bb15e21b06ec746 (patch)
treea6d43b314e3acc615c2a1b86d8756228881c91e3 /bfd/elfxx-ia64.c
parent900958cda09af0ca2839cc7e2a7c46355b051c83 (diff)
downloadbinutils-gdb-df12d73d19b31ec578eb6be37bb15e21b06ec746.tar.gz
This commit was manufactured by cvs2svn to create branch 'kettenis-kettenis-i386newframe-20030308-branchpoint
i386newframe-20030308-branch'. Sprout from cagney_offbyone-20030303-branch 2003-03-03 20:50:21 UTC nobody 'This commit was manufactured by cvs2svn to create branch' Cherrypick from master 2003-03-08 00:00:31 UTC gdbadmin <gdbadmin@sourceware.org> '*** empty log message ***': ChangeLog Makefile.in Makefile.tpl bfd/ChangeLog bfd/elf32-i386.c bfd/elf32-ppc.c bfd/elf32-sh.c bfd/elf64-ppc.c bfd/elflink.h bfd/elfxx-ia64.c bfd/som.c bfd/version.h config/ChangeLog configure configure.in gdb/ChangeLog gdb/MAINTAINERS gdb/Makefile.in gdb/avr-tdep.c gdb/cp-abi.c gdb/cp-abi.h gdb/d10v-tdep.c gdb/doc/ChangeLog gdb/doc/gdb.texinfo gdb/doc/gdbint.texinfo gdb/doc/stabs.texinfo gdb/dwarf2expr.c gdb/dwarf2loc.c gdb/frame.c gdb/frame.h gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/gnu-v2-abi.c gdb/gnu-v3-abi.c gdb/hpacc-abi.c gdb/minsyms.c gdb/symtab.c gdb/testsuite/ChangeLog gdb/testsuite/gdb.c++/templates.exp gdb/version.in gdb/x86-64-tdep.c gdb/x86-64-tdep.h include/aout/ChangeLog include/aout/aout64.h include/elf/ChangeLog include/elf/sh.h libiberty/ChangeLog libiberty/cplus-dem.c texinfo/texinfo.tex Delete: config/mh-dgux
Diffstat (limited to 'bfd/elfxx-ia64.c')
-rw-r--r--bfd/elfxx-ia64.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c
index 6678dd6aa32..d1a78abfcc7 100644
--- a/bfd/elfxx-ia64.c
+++ b/bfd/elfxx-ia64.c
@@ -656,31 +656,12 @@ static const bfd_byte plt_full_entry[PLT_FULL_ENTRY_SIZE] =
#define DYNAMIC_INTERPRETER(abfd) \
(elfNN_ia64_aix_vec (abfd->xvec) ? AIX_DYNAMIC_INTERPRETER : ELF_DYNAMIC_INTERPRETER)
-/* Select out of range branch fixup type. Note that Itanium does
- not support brl, and so it gets emulated by the kernel. */
-#undef USE_BRL
-
-#ifdef USE_BRL
static const bfd_byte oor_brl[16] =
{
0x05, 0x00, 0x00, 0x00, 0x01, 0x00, /* [MLX] nop.m 0 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* brl.sptk.few tgt;; */
0x00, 0x00, 0x00, 0xc0
};
-#else
-static const bfd_byte oor_ip[48] =
-{
- 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, /* [MLX] nop.m 0 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, /* movl r15=0 */
- 0x01, 0x00, 0x00, 0x60,
- 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, /* [MII] nop.m 0 */
- 0x00, 0x01, 0x00, 0x60, 0x00, 0x00, /* mov r16=ip;; */
- 0xf2, 0x80, 0x00, 0x80, /* add r16=r15,r16;; */
- 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, /* [MIB] nop.m 0 */
- 0x60, 0x80, 0x04, 0x80, 0x03, 0x00, /* mov b6=r16 */
- 0x60, 0x00, 0x80, 0x00 /* br b6;; */
-};
-#endif
/* These functions do relaxation for IA-64 ELF. */
@@ -897,11 +878,7 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
size = sizeof (plt_full_entry);
else
{
-#ifdef USE_BRL
size = sizeof (oor_brl);
-#else
- size = sizeof (oor_ip);
-#endif
}
/* Resize the current section to make room for the new branch. */
@@ -923,18 +900,10 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
}
else
{
-#ifdef USE_BRL
memcpy (contents + trampoff, oor_brl, size);
irel->r_info = ELFNN_R_INFO (ELFNN_R_SYM (irel->r_info),
R_IA64_PCREL60B);
irel->r_offset = trampoff + 2;
-#else
- memcpy (contents + trampoff, oor_ip, size);
- irel->r_info = ELFNN_R_INFO (ELFNN_R_SYM (irel->r_info),
- R_IA64_PCREL64I);
- irel->r_addend -= 16;
- irel->r_offset = trampoff + 2;
-#endif
}
/* Record the fixup so we don't do it again this section. */