This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: simplest way to get the size of an output section
- From: Daniel Jacobowitz <drow at false dot org>
- To: Etienne Lorrain <etienne_lorrain at yahoo dot fr>
- Cc: binutils at sources dot redhat dot com
- Date: Mon, 4 Oct 2004 08:51:34 -0400
- Subject: Re: simplest way to get the size of an output section
- References: <20041004095101.79962.qmail@web11807.mail.yahoo.com>
On Mon, Oct 04, 2004 at 11:51:01AM +0200, Etienne Lorrain wrote:
> Hello,
>
> On a Linux ia32 system, I am trying to get the size of an output
> section of an ELF file to use it automatically in a Makefile.
>
> Ideally I would like to compile a small GCC program like:
> gcc -Wl,--defsym,linker_tells_size=SIZEOF(.text16) print_command_line.c
> but that will not work because --defsym cannot get the SIZEOF().
>
> So I have gone the objcopy way:
> objcopy --output-target binary --only-section .text16 vmlinux param.bin
> ./print_command_line ` cat param.bin | wc -c `
> That does the job, but is there a way to not create the temporary file
> "param.bin" (i.e. objcopy uses standard output) (because it is always
> a problem in Makefiles: it may already exist and be write protected,
> it needs to be cleaned by make clean, an interrupted make command
> may leave the temporary file...) or another way, without using too
> complex awk or sed scripts?
Why not use objdump -h or readelf -S?
--
Daniel Jacobowitz