From 3d745235127c12a7f6538d8674649e06239191d0 Mon Sep 17 00:00:00 2001 From: Chris Kay Date: Thu, 26 Jan 2023 18:31:52 +0000 Subject: build(sp-min): sort sections by alignment by default This change forces LD to sort all input sections by alignment when allocating them within an output section. This is done in some places explicitly in the linker scripts today, but this makes sure we don't miss any easy targets. Change-Id: I33d5044e4d34a9d1187d0935ffc03d1f1177e340 Signed-off-by: Chris Kay --- bl32/sp_min/sp_min.mk | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bl32') diff --git a/bl32/sp_min/sp_min.mk b/bl32/sp_min/sp_min.mk index 0e5c1420c..fb0161c28 100644 --- a/bl32/sp_min/sp_min.mk +++ b/bl32/sp_min/sp_min.mk @@ -56,6 +56,12 @@ endif BL32_DEFAULT_LINKER_SCRIPT_SOURCE := bl32/sp_min/sp_min.ld.S +ifneq ($(findstring gcc,$(notdir $(LD))),) + BL32_LDFLAGS += -Wl,--sort-section=alignment +else ifneq ($(findstring ld,$(notdir $(LD))),) + BL32_LDFLAGS += --sort-section=alignment +endif + # Include the platform-specific SP_MIN Makefile # If no platform-specific SP_MIN Makefile exists, it means SP_MIN is not supported # on this platform. -- cgit v1.2.3 From 3cad06b351ca6f413517c2b1cc4cb55c7df556c4 Mon Sep 17 00:00:00 2001 From: Chris Kay Date: Thu, 26 Jan 2023 18:31:52 +0000 Subject: build(tsp): sort sections by alignment by default This change forces LD to sort all input sections by alignment when allocating them within an output section. This is done in some places explicitly in the linker scripts today, but this makes sure we don't miss any easy targets. Change-Id: Id702a2a572f2b43c77d53634ddc64b0220d2560b Signed-off-by: Chris Kay --- bl32/tsp/tsp.mk | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bl32') diff --git a/bl32/tsp/tsp.mk b/bl32/tsp/tsp.mk index cfffbdbed..4c1813118 100644 --- a/bl32/tsp/tsp.mk +++ b/bl32/tsp/tsp.mk @@ -24,6 +24,12 @@ BL32_SOURCES += bl32/tsp/aarch64/tsp_entrypoint.S \ BL32_DEFAULT_LINKER_SCRIPT_SOURCE := bl32/tsp/tsp.ld.S +ifneq ($(findstring gcc,$(notdir $(LD))),) + BL32_LDFLAGS += -Wl,--sort-section=alignment +else ifneq ($(findstring ld,$(notdir $(LD))),) + BL32_LDFLAGS += --sort-section=alignment +endif + # This flag determines if the TSPD initializes BL32 in tspd_init() (synchronous # method) or configures BL31 to pass control to BL32 instead of BL33 # (asynchronous method). -- cgit v1.2.3