Skip to content
  • Marek Vasut's avatar
    common: Implement support for linker-generated arrays · 42ebaae3
    Marek Vasut authored
    
    
    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: default avatarMarek Vasut <marex@denx.de>
    Cc: Joe Hershberger <joe.hershberger@gmail.com>
    Cc: Mike Frysinger <vapier@gentoo.org>
    42ebaae3