This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
2010/9/28 Jakub Jelinek <jakub@redhat.com>: > On Mon, Sep 27, 2010 at 05:29:19PM -0700, Richard Henderson wrote: >> The 64-bit PEI format has a SECREL32 relocation type. ?It >> does not, however, have a SECREL64 relocation type. ?Which >> means that for >> >> > #define DWARF_REF_SIZE ?\ >> > ? (dwarf_version == 2 ? DWARF2_ADDR_SIZE : DWARF_OFFSET_SIZE) >> >> we don't really have something to use for for dwarf2. >> >> I could fake it with >> >> ? ? ? .secrel32 ? ? ? ref >> ? ? ? .long ? ? ? ? ? 0 > > This is something we already use for TLS on x86_64: > ? ? ? ?.byte ? 0xa ? ? # DW_AT_location > ? ? ? ?.byte ? 0xe ? ? # DW_OP_const8u > ? ? ? ?.long ? i@dtpoff, 0 > At least for relocations that are always resolved to locations > within the same .debug_info section they will be always unsigned > and thus using .secrel 32 ref; .long 0 is IMHO just fine, and > implicit pointer currently will never reference anything outside of the > current executable's or shared library's CU. So I suggest the following patch. I tested it for x86_64-w64-mingw32 and didn't got regressions. Also the eh/register1.C test produces correct abbreviations (tested by objdump -Wi). ChangeLog 2010-09-28 Kai Tietz * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output addition zero for padding of secrel32 requested for 8 bytes. I will apply this today, if there aren't any objections. Regards, Kai -- |? (\_/) This is Bunny. Copy and paste | (='.'=) Bunny into your signature to help | (")_(") him gain world domination
Attachment:
w64_secrel.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |