Defining a section that isn't file-backed

Nick Clifton nickc@redhat.com
Mon Feb 23 09:49:00 GMT 2004


Hi Mike,

> I'd like to use a linker script to define an ELF section that isn't
> backed by disk space in the resulting binary, that I can place at a
> specific absolute address in memory.
>
> By "not backed" I mean something a bit like the BSS where the
> section could be (say) 256mb but only take up a few bytes on
> disk. If the resulting section is assigned to a read-only VMA range,
> then I think the result should be equivalent to a MAP_NORESERVE |
> MAP_FIXED mmap before the dynamic linker runs - am I correct?

Not sure about that, sorry.

> If this is possible, what sort of script would I be looking for?
> Alternatively which part of the ld manual describes how to do it, as
> I've looked and not been able to find any info on this.

What you need is a combination of a linker script and an assembler
source file.  For example if you create an assembler file containing
this:
	.section .empty, "a", @nobits
	.zero 40000

and then a linker script which contains:

        .empty 0x100 : { KEEP (*(.empty)) }

You should get what you want.  Obviously you will need to change the
numbers to reflect the size and location that you want.

Cheers
        Nick



More information about the Binutils mailing list