mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-21 10:43:06 +00:00
0648b13269
Rename the sections used for defining sandbox command line options so that they don't start with a '.'. ELF says that sections starting with a '.' are reserved for system use, but the sandbox runs as a normal user process so should be using user sections instead. Clang's ASAN adds redzones to non-user sections and the extra padding meant that the list of options was being corrupted. Naming the sections as user sections avoids this issue as clang handles them as we intended. Signed-off-by: Andrew Scull <ascull@google.com>
39 lines
895 B
C
39 lines
895 B
C
/*
|
|
* decls for symbols defined in the linker script
|
|
*
|
|
* Copyright (c) 2012 The Chromium OS Authors.
|
|
*
|
|
* Licensed under the GPL-2 or later.
|
|
*/
|
|
|
|
#ifndef __SANDBOX_SECTIONS_H
|
|
#define __SANDBOX_SECTIONS_H
|
|
|
|
#include <asm-generic/sections.h>
|
|
|
|
struct sandbox_cmdline_option;
|
|
|
|
static inline struct sandbox_cmdline_option **
|
|
__u_boot_sandbox_option_start(void)
|
|
{
|
|
static char start[0] __aligned(4) __attribute__((unused))
|
|
__section("_u_boot_sandbox_getopt_start");
|
|
|
|
return (struct sandbox_cmdline_option **)&start;
|
|
}
|
|
|
|
static inline struct sandbox_cmdline_option **
|
|
__u_boot_sandbox_option_end(void)
|
|
{
|
|
static char end[0] __aligned(4) __attribute__((unused))
|
|
__section("_u_boot_sandbox_getopt_end");
|
|
|
|
return (struct sandbox_cmdline_option **)&end;
|
|
}
|
|
|
|
static inline size_t __u_boot_sandbox_option_count(void)
|
|
{
|
|
return __u_boot_sandbox_option_end() - __u_boot_sandbox_option_start();
|
|
}
|
|
|
|
#endif
|