Fix encoding of LSDA entries. .eh_frame references in non-PIC mode can
use plain pointers. For PIC, any references to global objects must be indirect, but the .eh_frame entries themselve should be pcrel.
This commit is contained in:
parent
c7fa9ad5c0
commit
4df4cd4e92
6
external/gpl3/gcc/dist/gcc/config/arm/arm.h
vendored
6
external/gpl3/gcc/dist/gcc/config/arm/arm.h
vendored
@ -964,10 +964,8 @@ extern int arm_arch_crc;
|
||||
/* DWARF unwinding uses the normal indirect/pcrel vs absptr format
|
||||
for 32bit platforms. */
|
||||
#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
|
||||
((flag_pic \
|
||||
&& ((GLOBAL) || (CODE))) \
|
||||
? ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4 \
|
||||
: DW_EH_PE_absptr)
|
||||
(flag_pic ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \
|
||||
: DW_EH_PE_absptr)
|
||||
#else
|
||||
/* ttype entries (the only interesting data references used)
|
||||
use TARGET2 relocations. */
|
||||
|
Loading…
Reference in New Issue
Block a user