summaryrefslogtreecommitdiffstats
path: root/src/kernel.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/kernel.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/kernel.ld')
-rw-r--r--src/kernel.ld71
1 files changed, 39 insertions, 32 deletions
diff --git a/src/kernel.ld b/src/kernel.ld
index d1f2cef42..c2bcc2304 100644
--- a/src/kernel.ld
+++ b/src/kernel.ld
@@ -28,52 +28,59 @@ SECTIONS
. = base_load_address;
.text ALIGN(0x1000): {
- *(.text.intvects)
- . = text_load_address;
+ *(.text.intvects)
+ . = text_load_address;
*(.text.kernelasm)
- *(.text)
- *(.text._*)
+ *(.text)
+ *(.text._*)
*(.text.*)
- *(.rodata)
- *(.rodata.*)
- . = ALIGN(0x8);
- ctor_start_address = .;
- *(.ctors)
- ctor_end_address = .;
}
-
- .data ALIGN(0x1000): {
- data_load_address = .;
- *(.data)
- *(.data.*)
- *(.branch_lt)
- toc_load_address = .;
- *(.toc)
- *(.opd)
- *(.got)
+ .rodata ALIGN(0x8): {
+ __minimum_data_start_addr = ALIGN(0x1000);
+ ctor_start_address = .;
+ *(.ctors)
+ ctor_end_address = .;
+ *(.rodata)
+ *(.rodata.*)
+ toc_load_address = .;
+ *(.toc)
+ *(.opd)
+ *(.got)
+ *(.plt)
+ *(.data.rel.ro.*)
+ *(.data.*traceData_codeInfo*)
+
+ . = __minimum_data_start_addr > . ? __minimum_data_start_addr : .;
+ }
+
+ .data ALIGN(0x8): {
+ data_load_address = .;
+ *(.data)
+ *(.data.*)
- *(.bss)
- *(.bss.*)
+ *(.bss)
+ *(.bss.*)
}
end_load_address = .;
- .dynstr : {
- *(.dynstr)
- }
-
.rela : {
- *(.rela.*)
+ *(.rela.*)
}
-
+
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
+ .eh_frame : { *(.eh_frame) }
/DISCARD/ : {
- *(.comment)
- *(.gnu.attributes)
- *(.dtors)
- *(.interp)
+ *(.comment)
+ *(.gnu.attributes)
+ *(.dtors)
+ *(.interp)
}
}
OpenPOWER on IntegriCloud