]> git.sur5r.net Git - u-boot/commit
common: Implement support for linker-generated arrays
authorMarek Vasut <marex@denx.de>
Fri, 12 Oct 2012 10:27:02 +0000 (10:27 +0000)
committerTom Rini <trini@ti.com>
Mon, 22 Oct 2012 15:29:29 +0000 (08:29 -0700)
commit42ebaae3a33b8393a37e7176234e71b5eada58d4
tree278eec124e776c3cccf781400bc306375dcecb1b
parent97b24d3d51a92cb8c0c1e1a74abf22fe1a1807a3
common: Implement support for linker-generated arrays

This patch adds support for linker-generated array. These arrays
are a generalization of the U-Boot command declaration approach.

Basically, the idea is to generate an array, where elements of the
array are statically initialized at compile time and each element
is declared separatelly at different place. Such array is assembled
together into continuous piece of memory by linker and a pointer to
it's first entry can then be retrieved via accessor.

The actual implementation relies on placing any variable that is to
represent an element of LG-array into particular subsection of the
.u_boot_list linker section . The subsection is determined by user
options. Once compiled, it is possible to dump all symbols placed
in .u_boot_list section and the subsections in which they should be
and generate appropriate bounds for each requested subsection of the
.u_boot_list section. Each such subsection thus contains __start and
__end entries at the begining and end respecitively.

This allows for simple run-time traversing of the array, since the
symbols are properly defined.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Mike Frysinger <vapier@gentoo.org>
include/linker_lists.h [new file with mode: 0644]