This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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]

Re: [patch]: Discard some sections for pe and pep


2009/11/21 JonY <jon_y@users.sourceforge.net>:
> On 11/21/2009 22:56, Dave Korn wrote:
>>
>> Kai Tietz wrote:
>>>
>>> Hello all,
>>>
>>> we just were falling over the lto sections generated by gcc with lto
>>> support. Those section can be discarded by final linkage AFAIU.
>>
>> ? Hi Kai,
>>
>> ? What kind of problems were these causing? ?Why does GCC generate LTO
>> sections on a platform that I thought doesn't support LTO because it isn't
>> ELF-based?
>>
>
> Hi,
> ELF is the container for the LTO data, or so I read. The final executable
> doesn't have to be ELF.
>
> This causes rather large PE executables.
>
>>> Also this patch ensures, that .bss section is getting aligned to a 16
>>> byte block, this avoids some issues with sse usage.
>>
>> ? I don't get this. ?Why isn't __section_alignment__ much greater than 16
>> already? ?All the executables I build come out with sections aligned to
>> the
>> 4kB page size and individual elements within .bss aligned to 2**5.
>>
>
> ld 2.20.51.20091027 on Cygwin produces executables with .bss aligned to 2**3
> according to "objdump -h".
>

Yes, by using libelf-0.8.13, lto works even on PE-targets (just for
cygwin some trickery about elf.h is necessary).

Cheers,
Kai

-- 
|  (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]