2010/9/28 Kai Tietz <ktiet...@googlemail.com>: > 2010/9/28 Richard Henderson <r...@twiddle.net>: >> 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 >> >> but it seems better simply to force the use of dwarf3 >> for this target. Suggestions about how to go about this >> within the tangled mess of option processing? >> >> >> r~ >> > > Well, dwarf-3 is ok, if it helps to solve the issue. On the other hand > to fake it by secrel32 ref ; .long 0 looks not wrong to me. As PE+ > is limited in image size to 2GB there should be any issue about it. A > section relative offset can't get bigger then 2^31 bits. > We could introduce here a .seclrel64 relocation, but wouldn't be > covered by standard. > > Cheers, > Kai > > -- > | (\_/) This is Bunny. Copy and paste > | (='.'=) Bunny into your signature to help > | (")_(") him gain world domination >
The fix would be then in cygming.h ASM_OUTPUT_DWARF_OFFSET to emit for 64-bit, if SIZE == 8, an additional .long 0 after the .secrel32. Regards, Kai -- | (\_/) This is Bunny. Copy and paste | (='.'=) Bunny into your signature to help | (")_(") him gain world domination