diff options
author | Tom Rini <trini@konsulko.com> | 2021-06-21 16:14:18 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-07-14 16:57:35 -0400 |
commit | 963fde31559f50ceb4f5965f00d79f8747a9d217 (patch) | |
tree | 29f4a7db27669fac1ea7b7eb8821b5440b09af0d /scripts | |
parent | 2a2896b17fa47168b87590a1e9b42765c598e3c7 (diff) | |
download | u-boot-963fde31559f50ceb4f5965f00d79f8747a9d217.tar.gz |
scripts/get_default_envs.sh: Update for thin archive supportWIP/2021-07-14-build-and-host-updates
This script was broken by the change to default archives for linking.
This is due to objcopy specifically disallowing copying of thin
archives. To fix this and re-support external users of this script,
switch to using the same logic the u-boot-initial-env make target uses
to dump the section from the object file.
Reported-by: Jan Kiszka <jan.kiszka@web.de>
Fixes: 958f2e57eff7 ("build: use thin archives instead of incremental linking")
Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/get_default_envs.sh | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/scripts/get_default_envs.sh b/scripts/get_default_envs.sh index d1f2ce4d5c5..3c6fdc45e11 100755 --- a/scripts/get_default_envs.sh +++ b/scripts/get_default_envs.sh @@ -10,7 +10,7 @@ set -ue : "${OBJCOPY:=${CROSS_COMPILE:-}objcopy}" -ENV_OBJ_FILE="built-in.o" +ENV_OBJ_FILE="common.o" ENV_OBJ_FILE_COPY="copy_${ENV_OBJ_FILE}" echoerr() { echo "$@" 1>&2; } @@ -32,7 +32,8 @@ cp ${env_obj_file_path} ${ENV_OBJ_FILE_COPY} # NOTE: objcopy saves its output to file passed in # (copy_${ENV_OBJ_FILE} in this case) -${OBJCOPY} -O binary -j ".rodata.default_environment" ${ENV_OBJ_FILE_COPY} +${OBJCOPY} --dump-section .rodata.default_environment=${ENV_OBJ_FILE_COPY} \ + ${env_obj_file_path} # Replace default '\0' with '\n' and sort entries tr '\0' '\n' < ${ENV_OBJ_FILE_COPY} | sort --field-separator== -k1,1 --stable |