summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/build/Makefile4
-rw-r--r--src/build/linkerscripts/power/linkseeprom.cmd16
-rw-r--r--src/build/linkerscripts/power_axone/linkseeprom.cmd16
3 files changed, 18 insertions, 18 deletions
diff --git a/src/build/Makefile b/src/build/Makefile
index 37daa666..f57fd5a6 100644
--- a/src/build/Makefile
+++ b/src/build/Makefile
@@ -147,9 +147,9 @@ build_sbe_image: $(SUBDIRS) $(SEEPROM_SUBDIRS)
output_sbe_image:
$(C2) "Generating $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).out"
- $(C1)$(LD) -n -T$(LINK_SCRIPT_SEEPROM) -Map $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).map \
+ $(C1)$(LD) -e __system_reset -n -T$(LINK_SCRIPT_SEEPROM) -Map $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).map \
-Bstatic -o $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).out $(addprefix $(BOOT_OBJDIR)/, $(BOOT_OBJECTS)) $(BUILDDATA_OBJDIR)/$(IMAGE_BASE_PPE_HEADER).o $(OBJS) $(LIB_DIRS) \
- --start-group $(LLIBS) --end-group
+ --start-group $(LLIBS) --end-group --gc-sections
$(C1)./parsAndCutElf.py $(IMAGE_SUFFIX) $(IMG_DIR)
$(C1)$(OBJDUMP) -S $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).out > $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).dis
diff --git a/src/build/linkerscripts/power/linkseeprom.cmd b/src/build/linkerscripts/power/linkseeprom.cmd
index 4742f608..4b6e4e38 100644
--- a/src/build/linkerscripts/power/linkseeprom.cmd
+++ b/src/build/linkerscripts/power/linkseeprom.cmd
@@ -58,7 +58,7 @@ SECTIONS
// Header
////////////////////////////////
.header : {
- _header_origin = .; _header_offset = . - _seeprom_origin; *(.header);
+ _header_origin = .; _header_offset = . - _seeprom_origin; KEEP(*(.header));
} > seeprom
_header_size = . - _header_origin;
@@ -72,7 +72,7 @@ SECTIONS
////////////////////////////////
.loader_text ALIGN(0x200): {
_loader_text_origin = .; _loader_text_offset = . - _seeprom_origin;
- *(.loader_text);
+ KEEP(*(.loader_text));
} > seeprom
_loader_text_size = . - _loader_text_origin;
@@ -89,7 +89,7 @@ SECTIONS
////////////////////////////////
.fixed ALIGN(0x200) : {
_fixed_origin = .; _fixed_offset = . - _seeprom_origin;
- *(.fixed)
+ KEEP(*(.fixed))
} > seeprom
_fixed_size = . - _fixed_origin;
@@ -105,7 +105,7 @@ SECTIONS
// FIXED_TOC
////////////////////////////////
.fixed_toc ALIGN(8) : {
- _fixed_toc_origin = .; _fixed_toc_offset = . - _seeprom_origin; *(.fixed_toc);
+ _fixed_toc_origin = .; _fixed_toc_offset = . - _seeprom_origin; KEEP(*(.fixed_toc));
} > seeprom
_fixed_toc_size = . - _fixed_toc_origin;
@@ -113,7 +113,7 @@ SECTIONS
// TOC
////////////////////////////////
.toc ALIGN(4): {
- _toc_origin = .; _toc_offset = . - _seeprom_origin; *(.toc);
+ _toc_origin = .; _toc_offset = . - _seeprom_origin; KEEP(*(.toc));
} > seeprom
_toc_size = . - _toc_origin;
@@ -121,7 +121,7 @@ SECTIONS
// STRING
////////////////////////////////
.strings : {
- _strings_origin = .; _strings_offset = . - _seeprom_origin; *(.strings);
+ _strings_origin = .; _strings_offset = . - _seeprom_origin; KEEP(*(.strings));
} > seeprom
_strings_size = . - _strings_origin;
@@ -161,9 +161,9 @@ SECTIONS
. = ALIGN(8);
.rodata . : {
ctor_start_address = .;
- *(.ctors) *(.ctors.*)
+ KEEP(*(.ctors)) KEEP(*(.ctors.*))
ctor_end_address = .;
- *(.rodata*) *(.got2);
+ KEEP(*(.rodata*)) KEEP(*(.got2));
} > pibmem
_RODATA_SECTION_SIZE = . - _RODATA_SECTION_BASE;
diff --git a/src/build/linkerscripts/power_axone/linkseeprom.cmd b/src/build/linkerscripts/power_axone/linkseeprom.cmd
index 75fd5724..73fe74ab 100644
--- a/src/build/linkerscripts/power_axone/linkseeprom.cmd
+++ b/src/build/linkerscripts/power_axone/linkseeprom.cmd
@@ -58,7 +58,7 @@ SECTIONS
// Header
////////////////////////////////
.header : {
- _header_origin = .; _header_offset = . - _seeprom_origin; *(.header);
+ _header_origin = .; _header_offset = . - _seeprom_origin; KEEP(*(.header));
} > seeprom
_header_size = . - _header_origin;
@@ -72,7 +72,7 @@ SECTIONS
////////////////////////////////
.loader_text ALIGN(0x200): {
_loader_text_origin = .; _loader_text_offset = . - _seeprom_origin;
- *(.loader_text);
+ KEEP(*(.loader_text));
} > seeprom
_loader_text_size = . - _loader_text_origin;
@@ -89,7 +89,7 @@ SECTIONS
////////////////////////////////
.fixed ALIGN(0x200) : {
_fixed_origin = .; _fixed_offset = . - _seeprom_origin;
- *(.fixed)
+ KEEP(*(.fixed))
} > seeprom
_fixed_size = . - _fixed_origin;
@@ -105,7 +105,7 @@ SECTIONS
// FIXED_TOC
////////////////////////////////
.fixed_toc ALIGN(8) : {
- _fixed_toc_origin = .; _fixed_toc_offset = . - _seeprom_origin; *(.fixed_toc);
+ _fixed_toc_origin = .; _fixed_toc_offset = . - _seeprom_origin; KEEP(*(.fixed_toc));
} > seeprom
_fixed_toc_size = . - _fixed_toc_origin;
@@ -113,7 +113,7 @@ SECTIONS
// TOC
////////////////////////////////
.toc ALIGN(4): {
- _toc_origin = .; _toc_offset = . - _seeprom_origin; *(.toc);
+ _toc_origin = .; _toc_offset = . - _seeprom_origin; KEEP(*(.toc));
} > seeprom
_toc_size = . - _toc_origin;
@@ -121,7 +121,7 @@ SECTIONS
// STRING
////////////////////////////////
.strings : {
- _strings_origin = .; _strings_offset = . - _seeprom_origin; *(.strings);
+ _strings_origin = .; _strings_offset = . - _seeprom_origin; KEEP(*(.strings));
} > seeprom
_strings_size = . - _strings_origin;
@@ -161,9 +161,9 @@ SECTIONS
. = ALIGN(8);
.rodata . : {
ctor_start_address = .;
- *(.ctors) *(.ctors.*)
+ KEEP(*(.ctors)) KEEP(*(.ctors.*))
ctor_end_address = .;
- *(.rodata*) *(.got2);
+ KEEP(*(.rodata*)) KEEP(*(.got2));
} > pibmem
_RODATA_SECTION_SIZE = . - _RODATA_SECTION_BASE;
OpenPOWER on IntegriCloud