On 2/7/2012 5:39 PM, Graeme Russ wrote:
Hi Troy,

On Wed, Feb 8, 2012 at 11:20 AM, Troy Kisky
<troy.ki...@boundarydevices.com>  wrote:
This makes adding linker defined tables easier
as only 1 lds file (include/u-boot-common.lds)
will need to be touched instead of 193 files.

Signed-off-by: Troy Kisky<troy.ki...@boundarydevices.com>
---

diff --git a/arch/arm/cpu/arm1136/u-boot.lds b/arch/arm/cpu/arm1136/u-boot.lds
index d1e2851..fe07097 100644
--- a/arch/arm/cpu/arm1136/u-boot.lds
+++ b/arch/arm/cpu/arm1136/u-boot.lds
@@ -52,12 +52,7 @@ SECTIONS
                *(.data)
        }

-       . = ALIGN(4);
-
-       . = .;
-       __u_boot_cmd_start = .;
-       .u_boot_cmd : { *(.u_boot_cmd) }
-       __u_boot_cmd_end = .;
+#include<u-boot-common.lds>

        . = ALIGN(4);

Ick! A #define in the middle of a file :(

I would rather see the code block you are replacing #defined in
include/u-boot-common.lds.h and then use the define at the desired
location in the arch lds file. This will allow multiple 'functional
linker blocks' to be defined that the acrch scripts can arrange as they
see fit.

Also, ALIGN(4) may not always be a given, so maybe we should pass that in
as a parameter?

Hmmm....maybe something like (most likely not syntactically correct):

#define U_BOOT_LDS_SECTION(section, alignment) \
        . = ALIGN(alignment); \
        U_BOOT_LDS_SYMBOL(section ## _start) = .;
        . ## section : { KEEP(*(. ## section)) }
        U_BOOT_LDS_SYMBOL(section ## _end) = .;


So we can simply, in the arch lds:

        U_BOOT_LDS_SECTION(text, 4)
        U_BOOT_LDS_SECTION(u_boot_cmd, 4)
        U_BOOT_LDS_SECTION(rodata, 4)
        U_BOOT_LDS_SECTION(data, 4)
        U_BOOT_LDS_SECTION(dynsym, 4)

Regards,

Graeme

That works fine for existing sections.. i.e

U_BOOT_LDS_SECTION(u_boot_cmd, 4)


but what about the next patch in the series?
Do you want me to change all lds files again?

I hope you have a better idea for how to handle patch 2/2.

Thanks for the feedback.

Troy

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to