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

Reply via email to