[PATCH 1/4] PPC: fix size optimisation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since patch e92abad36307d the linker discards sections which seems not
used to make the image smaller.
But this change will discard the whole init and exception code from start.S
which renders the final image useless.

>From 'barebox.map' without this patch:

Discarded input sections
 .text          0x0000000000000000     0x358c arch/ppc/mach-mpc5xxx/start.o
 .data          0x0000000000000000        0x0 arch/ppc/mach-mpc5xxx/start.o
 .bss           0x0000000000000000        0x0 arch/ppc/mach-mpc5xxx/start.o
 .got2          0x0000000000000000       0x24 arch/ppc/mach-mpc5xxx/start.o
[...]

So, define the entry point to mark the init and exception used.

>From 'barebox.map' with this patch applied:

Discarded input sections
 .data          0x0000000000000000        0x0 arch/ppc/mach-mpc5xxx/start.o
 .bss           0x0000000000000000        0x0 arch/ppc/mach-mpc5xxx/start.o
[...]

Note: tested on MPC5200 at run time, for MPC85XX compile time only

Signed-off-by: Juergen Borleis <jbe@xxxxxxxxxxxxxx>
---
 arch/ppc/boards/pcm030/barebox.lds.S | 1 +
 arch/ppc/mach-mpc85xx/barebox.lds.S  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/ppc/boards/pcm030/barebox.lds.S b/arch/ppc/boards/pcm030/barebox.lds.S
index 0e08e05..0e34f0a 100644
--- a/arch/ppc/boards/pcm030/barebox.lds.S
+++ b/arch/ppc/boards/pcm030/barebox.lds.S
@@ -20,6 +20,7 @@
 #include <asm-generic/barebox.lds.h>
 
 OUTPUT_ARCH("powerpc")
+ENTRY(_start)
 /* Do we need any of these for elf?
    __DYNAMIC = 0;    */
 SECTIONS
diff --git a/arch/ppc/mach-mpc85xx/barebox.lds.S b/arch/ppc/mach-mpc85xx/barebox.lds.S
index 1f7f52c..beebab3 100644
--- a/arch/ppc/mach-mpc85xx/barebox.lds.S
+++ b/arch/ppc/mach-mpc85xx/barebox.lds.S
@@ -22,6 +22,7 @@
 #endif
 
 OUTPUT_ARCH("powerpc")
+ENTRY(_start_e500)
 
 PHDRS
 {
-- 
2.8.1


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux