From 53e21f869026a586244a4fae3367633d392a856b Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Wed, 26 Feb 2025 22:58:38 -0700 Subject: Move embedded files from .data to .rodata --- CMakeLists.txt | 3 ++- build-aux/embed-sources.h.gen | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c6c7068..483274d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,8 @@ function(target_embed_sources arg_compile_target arg_link_target arg_hdrname) OUTPUT "${embed_src}.o" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" COMMAND mkdir -p -- "$" && - ${CMAKE_LINKER} -r -b binary -o "${CMAKE_CURRENT_BINARY_DIR}/${embed_src}.o" "${embed_src}" + ${CMAKE_LINKER} -r -b binary -o "${CMAKE_CURRENT_BINARY_DIR}/${embed_src}.o" "${embed_src}" && + ${CMAKE_OBJCOPY} --rename-section .data=.rodata,alloc,load,readonly,data,contents "${CMAKE_CURRENT_BINARY_DIR}/${embed_src}.o" "${CMAKE_CURRENT_BINARY_DIR}/${embed_src}.o" DEPENDS "${embed_src}" ) list(APPEND embed_objs "${embed_src}.o") diff --git a/build-aux/embed-sources.h.gen b/build-aux/embed-sources.h.gen index d473094..0329496 100755 --- a/build-aux/embed-sources.h.gen +++ b/build-aux/embed-sources.h.gen @@ -1,10 +1,10 @@ #!/bin/sh # build-aux/embed-sources.h.gen - Generate C definitions for GNU `ld -r -b binary` files # -# Copyright (C) 2024 Luke T. Shumaker +# Copyright (C) 2024-2025 Luke T. Shumaker # SPDX-License-Identifier: AGPL-3.0-or-later nm --format=posix "$@" | sed -n -E \ - -e 's/(.*_(end|start)) D .*/extern char \1[];/p' \ + -e 's/(.*_(end|start)) [DR] .*/extern char \1[];/p' \ -e 's/(.*_size) A .*/extern size_t \1;/p' -- cgit v1.2.3-2-g168b