diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2013-06-19 14:30:55 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-07-12 09:28:26 -0500 |
commit | 3699cdda9adeabf550b3e875b35218620e93f186 (patch) | |
tree | 75870ea4a2c604ec6a352e1069ad3710f922e93c /src/module.ld | |
parent | cc3da0a999d8d37cfbb53d8386a6c0b9e3fa3992 (diff) | |
download | talos-hostboot-3699cdda9adeabf550b3e875b35218620e93f186.tar.gz talos-hostboot-3699cdda9adeabf550b3e875b35218620e93f186.zip |
Make libs smaller by overlapping text and rodata sections.
Change-Id: I0f3b9a941c19040635752b2648ef51c50dba849b
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5135
Tested-by: Jenkins Server
Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/module.ld')
-rw-r--r-- | src/module.ld | 54 |
1 files changed, 32 insertions, 22 deletions
diff --git a/src/module.ld b/src/module.ld index 4cd3e3f4f..1086797b4 100644 --- a/src/module.ld +++ b/src/module.ld @@ -23,36 +23,46 @@ SECTIONS { .text : { - *(.text) - *(.text._*) + *(.text) *(.text.*) - *(.rodata) - *(.rodata.*) - *(.glink) + *(.text.unlikely.*) + *(.glink) } - - .data ALIGN(0x1000): { - *(.data) - *(.data.*) - *(.branch_lt) - . = ALIGN(0x8); - ctor_start_address = .; - *(.ctors) - ctor_end_address = .; - *(.toc) - *(.opd) - *(.got) - *(.plt) - *(.bss) - *(.bss.*) + .rodata ALIGN(0x8): { + __minimum_data_start_addr = ALIGN(0x1000); + ctor_start_address = .; + *(.ctors) + ctor_end_address = .; + *(.rodata) + *(.rodata.*) + *(.toc) + *(.opd) + *(.got) + *(.plt) + *(.data.rel.ro.*) + *(.data.*traceData_codeInfo*) + . = __minimum_data_start_addr > . ? __minimum_data_start_addr : .; + } + + .data ALIGN(0x8): { + *(.data) + *(.data.*) + *(.bss) + *(.bss.*) } .rela : { - *(.rela.*) + *(.rela.*) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .hash : { *(.hash) } + .gnu.hash : { *(.gnu.hash) } + .eh_frame : { *(.eh_frame) } + /DISCARD/ : { - *(.dtors) + *(.dtors) } } |