This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Defining a section that isn't file-backed
- From: Nick Clifton <nickc at redhat dot com>
- To: Mike Hearn <mike at theoretic dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Mon, 23 Feb 2004 09:49:36 +0000
- Subject: Re: Defining a section that isn't file-backed
- References: <pan.2004.02.22.18.50.58.299730@theoretic.com>
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