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>
|
2004-01-23 Daniel Jacobowitz <drow@mvista.com>
|
||||||
|
|
||||||
* elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
|
* 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);
|
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
|
/* If we don't need dynamic symbol lookup, find a
|
||||||
matching RELATIVE relocation. */
|
matching RELATIVE relocation. */
|
||||||
dyn_r_type = r_type;
|
dyn_r_type = r_type;
|
||||||
|
@ -3978,17 +3996,7 @@ elfNN_ia64_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* We can't represent this without a dynamic symbol.
|
break;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
dynindx = 0;
|
dynindx = 0;
|
||||||
addend = value;
|
addend = value;
|
||||||
|
|
Loading…
Reference in New Issue