Bloated binaries following the use of AT(...) linker script command

John Reiser jreiser@BitWagon.com
Tue Jun 16 04:02:00 GMT 2009


> PHDRS {
> -       text PT_LOAD FLAGS(7);  /* RWX */
> +      text PT_LOAD AT(0x84000000) FLAGS(7);   /* RWX */
>         note PT_NOTE FLAGS(4);  /* R__ */
> }

> Entry point address:             0xc00050b0
> Start of program headers:    52 (bytes into file)
> Start of section headers:      1069295608 (bytes into file)

> Program Headers:
> Type       Offset   VirtAddr   PhysAddr    FileSiz     MemSiz  Flg   Align
> LOAD     0x002000 0xc0000000 0x84000000 0x3fbbc8a0 0x3fc27f50 RWE   0x2000
> 
> Could someone indicate the possible reasons for the bloating of the executable ?

Somewhere there is a confusion between physical address and virtual address.
The bloat amount is about (0xc0000000 - 0x84000000) bytes, which is the
difference between VirtAddr and PhysAddr.

-- 



More information about the Binutils mailing list