mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-17 00:56:47 +00:00
PR 6660
PR 6682 * powerpc.cc (Powerpc_relocate_functions::addr16_ha) [both versions]: Don't try to read the value in the contents, since we don't use it. Use the template endianness when writing.
This commit is contained in:
parent
3dccd7b794
commit
e6fde20876
@ -1,3 +1,11 @@
|
||||
2008-06-30 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
PR 6660
|
||||
PR 6682
|
||||
* powerpc.cc (Powerpc_relocate_functions::addr16_ha) [both
|
||||
versions]: Don't try to read the value in the contents, since we
|
||||
don't use it. Use the template endianness when writing.
|
||||
|
||||
2008-06-25 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* fileread.cc (File_read::make_view): Assert on zero-length view.
|
||||
|
@ -594,9 +594,6 @@ public:
|
||||
typename elfcpp::Elf_types<size>::Elf_Addr value,
|
||||
typename elfcpp::Elf_types<size>::Elf_Addr addend)
|
||||
{
|
||||
typedef typename elfcpp::Swap<16, true>::Valtype Valtype;
|
||||
Valtype* wv = reinterpret_cast<Valtype*>(view);
|
||||
Valtype val = elfcpp::Swap<16, true>::readval(wv);
|
||||
typename elfcpp::Elf_types<size>::Elf_Addr reloc;
|
||||
|
||||
reloc = value + addend;
|
||||
@ -605,10 +602,7 @@ public:
|
||||
reloc += 0x10000;
|
||||
reloc >>= 16;
|
||||
|
||||
val &= ~static_cast<Valtype>(0xffff);
|
||||
reloc &= static_cast<Valtype>(0xffff);
|
||||
|
||||
elfcpp::Swap<16, true>::writeval(wv, val | reloc);
|
||||
elfcpp::Swap<16, big_endian>::writeval(view, reloc);
|
||||
}
|
||||
|
||||
static inline void
|
||||
@ -617,9 +611,6 @@ public:
|
||||
const Symbol_value<size>* psymval,
|
||||
typename elfcpp::Elf_types<size>::Elf_Addr addend)
|
||||
{
|
||||
typedef typename elfcpp::Swap<16, true>::Valtype Valtype;
|
||||
Valtype* wv = reinterpret_cast<Valtype*>(view);
|
||||
Valtype val = elfcpp::Swap<16, true>::readval(wv);
|
||||
typename elfcpp::Elf_types<size>::Elf_Addr reloc;
|
||||
|
||||
reloc = psymval->value(object, addend);
|
||||
@ -628,10 +619,7 @@ public:
|
||||
reloc += 0x10000;
|
||||
reloc >>= 16;
|
||||
|
||||
val &= ~static_cast<Valtype>(0xffff);
|
||||
reloc &= static_cast<Valtype>(0xffff);
|
||||
|
||||
elfcpp::Swap<16, true>::writeval(wv, val | reloc);
|
||||
elfcpp::Swap<16, big_endian>::writeval(view, reloc);
|
||||
}
|
||||
|
||||
// R_PPC_REL16: (Symbol + Addend - Address) & 0xffff
|
||||
|
Loading…
Reference in New Issue
Block a user