diff options
author | Marek BehĂșn <marek.behun@nic.cz> | 2021-05-20 13:24:06 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-05-24 14:21:30 -0400 |
commit | d1f81fd01598071ca9f8263dff43ac8860532f2b (patch) | |
tree | ff519fc3f940f6736d5153597f3c7085be617987 /arch/sandbox/cpu/os.c | |
parent | be1e77f2868f288a219090ee81427a9b800bb158 (diff) | |
download | u-boot-d1f81fd01598071ca9f8263dff43ac8860532f2b.tar.gz u-boot-d1f81fd01598071ca9f8263dff43ac8860532f2b.tar.xz u-boot-d1f81fd01598071ca9f8263dff43ac8860532f2b.zip |
sandbox: use sections instead of symbols for getopt array boundaries
In style of linked lists, instead of declaring symbols for boundaries
of getopt options array in the linker script, declare corresponding
sections and retrieve the boundaries via static inline functions.
Without this clang's LTO produces binary without any getopt options,
because for some reason it thinks that array is empty (start and end
symbols are at the same address).
Signed-off-by: Marek BehĂșn <marek.behun@nic.cz>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/sandbox/cpu/os.c')
-rw-r--r-- | arch/sandbox/cpu/os.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c index b9ad341861..0d21827e1b 100644 --- a/arch/sandbox/cpu/os.c +++ b/arch/sandbox/cpu/os.c @@ -375,7 +375,8 @@ static struct option *long_opts; int os_parse_args(struct sandbox_state *state, int argc, char *argv[]) { - struct sandbox_cmdline_option **sb_opt = __u_boot_sandbox_option_start; + struct sandbox_cmdline_option **sb_opt = + __u_boot_sandbox_option_start(); size_t num_options = __u_boot_sandbox_option_count(); size_t i; |