This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: How to make section take no space in output file?
On Fri, Jan 11, 2008 at 02:11:31PM -0800, Rick Mann wrote:
>
> On Jan 11, 2008, at 12:43 PM, DJ Delorie wrote:
>
>>
>> If they're memory mapped devices, I think a better approach is to make
>> them "extern" in your C program, and assign them values in the linker
>> script or an auxiliary asm file, like this:
>>
>> .global framebuffer
>> framebuffer = 0xc8000000
>>
>> If your C sources create data, the linker has to put it somewhere.
>> The solution is to not create data.
>>
>> You could also try the DISCARD section, but whether it's useful or not
>> depends on your specific situation.
>
> They are not memory-mapped devices; they're strictly allocated RAM. The
> only requirement is that they be of specific size and alignment, and I'd
> like for the linker to just assign addresses accordingly. However, in the
> output file, they don't need to exist at all; I just want references to the
> symbols to have the right values at run time.
Have you tried "NOLOAD"? See
http://www.sourceware.org/bugzilla/show_bug.cgi?id=5522
However, this feature may a bug in linker:
http://sourceware.org/ml/binutils/2008-01/msg00083.html
H.J.