mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-02 14:53:46 +08:00
2004-01-25 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm relocations against dynamic symbols.
This commit is contained in:
parent
c034e007d5
commit
838e70c548
@ -1,3 +1,8 @@
|
||||
2004-01-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
|
||||
relocations against dynamic symbols.
|
||||
|
||||
2004-01-23 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
|
||||
|
@ -3951,6 +3951,24 @@ elfNN_ia64_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
|
||||
BFD_ASSERT (srel != NULL);
|
||||
|
||||
switch (r_type)
|
||||
{
|
||||
case R_IA64_IMM14:
|
||||
case R_IA64_IMM22:
|
||||
case R_IA64_IMM64:
|
||||
/* ??? People shouldn't be doing non-pic code in
|
||||
shared libraries nor dynamic executables. */
|
||||
(*_bfd_error_handler)
|
||||
(_("%s: non-pic code with imm relocation against dynamic symbol `%s'"),
|
||||
bfd_archive_filename (input_bfd),
|
||||
h->root.root.string);
|
||||
ret_val = FALSE;
|
||||
continue;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* If we don't need dynamic symbol lookup, find a
|
||||
matching RELATIVE relocation. */
|
||||
dyn_r_type = r_type;
|
||||
@ -3978,17 +3996,7 @@ elfNN_ia64_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
break;
|
||||
|
||||
default:
|
||||
/* We can't represent this without a dynamic symbol.
|
||||
Adjust the relocation to be against an output
|
||||
section symbol, which are always present in the
|
||||
dynamic symbol table. */
|
||||
/* ??? People shouldn't be doing non-pic code in
|
||||
shared libraries. Hork. */
|
||||
(*_bfd_error_handler)
|
||||
(_("%s: linking non-pic code in a shared library"),
|
||||
bfd_archive_filename (input_bfd));
|
||||
ret_val = FALSE;
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
dynindx = 0;
|
||||
addend = value;
|
||||
|
Loading…
Reference in New Issue
Block a user