mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-24 20:13:39 +00:00
d1f81fd015
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>
58 lines
887 B
Text
58 lines
887 B
Text
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (c) 2011-2012 The Chromium OS Authors.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
SECTIONS
|
|
{
|
|
|
|
. = ALIGN(4);
|
|
.u_boot_list : {
|
|
KEEP(*(SORT(.u_boot_list*)));
|
|
}
|
|
|
|
_u_boot_sandbox_getopt : {
|
|
*(.u_boot_sandbox_getopt_start)
|
|
*(.u_boot_sandbox_getopt)
|
|
*(.u_boot_sandbox_getopt_end)
|
|
}
|
|
|
|
.__efi_runtime_start : {
|
|
*(.__efi_runtime_start)
|
|
}
|
|
|
|
.efi_runtime : {
|
|
*(efi_runtime_text)
|
|
*(efi_runtime_data)
|
|
}
|
|
|
|
.__efi_runtime_stop : {
|
|
*(.__efi_runtime_stop)
|
|
}
|
|
|
|
.efi_runtime_rel_start :
|
|
{
|
|
*(.__efi_runtime_rel_start)
|
|
}
|
|
|
|
.efi_runtime_rel : {
|
|
*(.relefi_runtime_text)
|
|
*(.relefi_runtime_data)
|
|
}
|
|
|
|
.efi_runtime_rel_stop :
|
|
{
|
|
*(.__efi_runtime_rel_stop)
|
|
}
|
|
|
|
.dynsym :
|
|
{
|
|
__dyn_sym_start = .;
|
|
*(.dynsym)
|
|
__dyn_sym_end = .;
|
|
}
|
|
}
|
|
|
|
INSERT BEFORE .data;
|