arm-trusted-firmware/bl31
Samuel Holland ebd6efae67 Reduce space lost to object alignment
Currently, sections within .text/.rodata/.data/.bss are emitted in the
order they are seen by the linker. This leads to wasted space, when a
section with a larger alignment follows one with a smaller alignment.
We can avoid this wasted space by sorting the sections.

To take full advantage of this, we must disable generation of common
symbols, so "common" data can be sorted along with the rest of .bss.

An example of the improvement, from `make DEBUG=1 PLAT=sun50i_a64 bl31`:
  .text   => no change
  .rodata => 16 bytes saved
  .data   => 11 bytes saved
  .bss    => 576 bytes saved

As a side effect, the addition of `-fno-common` in TF_CFLAGS makes it
easier to spot bugs in header files.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Change-Id: I073630a9b0b84e7302a7a500d4bb4b547be01d51
2019-12-04 02:59:30 -06:00
..
aarch64 Neoverse N1 Errata Workaround 1542419 2019-10-04 19:31:24 +03:00
bl31.ld.S Reduce space lost to object alignment 2019-12-04 02:59:30 -06:00
bl31.mk Add support for Branch Target Identification 2019-05-24 14:44:45 +01:00
bl31_context_mgmt.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
bl31_main.c Refactor ARMv8.3 Pointer Authentication support code 2019-09-13 14:11:59 +01:00
ehf.c Minor changes to documentation and comments 2019-02-28 13:35:21 +00:00
interrupt_mgmt.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00