Use --gc-sections during link

All common functions are being built into all binary images,
whether or not they are actually used. This change enables the
use of -ffunction-sections, -fdata-sections and --gc-sections
in the compiler and linker to remove unused code and data from
the images.

Change-Id: Ia9f78c01054ac4fa15d145af38b88a0d6fb7d409
diff --git a/bl1/bl1.ld.S b/bl1/bl1.ld.S
index 012ff58..81c5443 100644
--- a/bl1/bl1.ld.S
+++ b/bl1/bl1.ld.S
@@ -43,8 +43,8 @@
 {
     ro : {
         __RO_START__ = .;
-        *bl1_entrypoint.o(.text)
-        *(.text)
+        *bl1_entrypoint.o(.text*)
+        *(.text*)
         *(.rodata*)
         *(.vectors)
         __RO_END__ = .;
@@ -57,7 +57,7 @@
     . = NEXT(16);        /* Align LMA */
     .data : ALIGN(16) {  /* Align VMA */
         __DATA_RAM_START__ = .;
-        *(.data)
+        *(.data*)
         __DATA_RAM_END__ = .;
     } >RAM AT>ROM
 
@@ -73,7 +73,7 @@
      */
     .bss : ALIGN(16) {
         __BSS_START__ = .;
-        *(.bss)
+        *(.bss*)
         *(COMMON)
         __BSS_END__ = .;
     } >RAM