summaryrefslogtreecommitdiffstats
path: root/src/module.ld
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2013-06-19 14:30:55 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-07-12 09:28:26 -0500
commit3699cdda9adeabf550b3e875b35218620e93f186 (patch)
tree75870ea4a2c604ec6a352e1069ad3710f922e93c /src/module.ld
parentcc3da0a999d8d37cfbb53d8386a6c0b9e3fa3992 (diff)
downloadtalos-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.ld54
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)
}
}
OpenPOWER on IntegriCloud