Hi Troy, On Wed, Feb 8, 2012 at 12:56 PM, Troy Kisky <troy.ki...@boundarydevices.com> wrote: > On 2/7/2012 6:21 PM, Graeme Russ wrote: >> >> Hi Tony, >> >> On Wed, Feb 8, 2012 at 11:49 AM, Troy Kisky >> <troy.ki...@boundarydevices.com> wrote: >>>
>>> 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? >> >> Ah, and therein lies the rub... >> >> By adding 'phy_entry' into the common lds file, you have inflicted it on >> everyone, and forced it to be after u_boot_cmd. What if I don't need the >> phy_entry section (no network support) or don't want it hard-placed after >> u_boot_cmd? > > > Inflicted? I doubt that I added any bytes at all to boards that don't use > phylib. You are correct, it will not add anything, but we tend to have an aversion to dead code :) >>> I hope you have a better idea for how to handle patch 2/2. >> >> Add U_BOOT_LDS_SECTION(phy_entry, 4) to all the linker scripts > > > The entire reason for me for patch 1/2 was to support 2/2. > > What about #include <u-boot-comon.lds.h> > > at the start of each lds file, > > and > > #include<u-boot-common.lds> > > > in the middle? > > > > If people really want to control the relative ordering of u_boot_cmd, and > phy_entry, > they are not forced to include u-boot-common.lds here. > > I can even throw in an unnecessary ifdef in u-boot-common.lds > > #ifdef CONFIG_PHYLIB > U_BOOT_LDS_SECTION(phy_entry, 4) > #endif > > > This will make it easier for developers to add a table without having > to change 192 lds files. If a few boards opt not to use > "#include<u-boot-common.lds>," that still means far fewer files > to change and less risk of typos. That looks like a good compromise to me As I mentioned, the U_BOOT_LDS_SECTION macro will be very useful for me later on The next biggie is where to define all the externs exported from the linker script as a result of using the U_BOOT_LDS_SECTION macro. I'm half tempted to think we could collect all the usages of U_BOOT_LDS_SECTION in a header (for the common case, that is essentially u-boot-common.lds) and by setting a #define you switch between full macro expansion (for the linker) and 'extern generation' for including in C files. That way, when you add a new section, everything happen automagically :) Regards, Graeme _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot