Skip to content

Commit b46d36b

Browse files
committed
build: Use nm instead of objdump for generating symbol table
1 parent d544a49 commit b46d36b

4 files changed

Lines changed: 18 additions & 18 deletions

File tree

common/common.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ MAKEFLAGS += -rR
44
include $(TOOLCHAIN_FILE)
55
export CC_FOR_TARGET
66
export LD_FOR_TARGET
7-
export OBJDUMP_FOR_TARGET
7+
export NM_FOR_TARGET
88
export OBJCOPY_FOR_TARGET
99
export READELF_FOR_TARGET
1010

common/gensyms.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ TMP4="$(mktemp)"
2828

2929
trap 'rm -f "$TMP1" "$TMP2" "$TMP3" "$TMP4"' EXIT
3030

31-
"$OBJDUMP_FOR_TARGET" -t "$1" | ( "$SED" '/[[:<:]]d[[:>:]]/d' 2>/dev/null || "$SED" '/\bd\b/d' ) | sort > "$TMP1"
32-
"$GREP" "F $4" < "$TMP1" | cut -d' ' -f1 > "$TMP2"
33-
"$GREP" "F $4" < "$TMP1" | "$AWK" 'NF{ print $NF }' > "$TMP3"
31+
"$NM_FOR_TARGET" -n "$1" | "$GREP" -i ' t ' > "$TMP1"
32+
"$AWK" '{ print $1 }' "$TMP1" > "$TMP2"
33+
"$AWK" '{ print $3 }' "$TMP1" > "$TMP3"
3434

3535
echo ".section .$2_map" > "$TMP4"
3636
echo ".globl $2_map" >> "$TMP4"

configure.ac

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ AC_CHECK_HEADERS([stdint.h stddef.h stdbool.h limits.h inttypes.h stdio.h stdlib
116116
AC_ARG_VAR([TOOLCHAIN_FOR_TARGET], [alternative toolchain prefix for Limine (or 'llvm', or 'gnu')])
117117
AC_ARG_VAR([CC_FOR_TARGET], [C compiler command for Limine])
118118
AC_ARG_VAR([LD_FOR_TARGET], [linker command for Limine])
119+
AC_ARG_VAR([NM_FOR_TARGET], [nm command for Limine])
119120
AC_ARG_VAR([OBJCOPY_FOR_TARGET], [objcopy command for Limine])
120-
AC_ARG_VAR([OBJDUMP_FOR_TARGET], [objdump command for Limine])
121121
AC_ARG_VAR([READELF_FOR_TARGET], [readelf command for Limine])
122122

123123
rm -rf toolchain-files
@@ -171,10 +171,10 @@ else
171171
FREESTANDING_CC="$CC_FOR_TARGET" \
172172
WANT_FREESTANDING_LD=yes \
173173
FREESTANDING_LD="$LD_FOR_TARGET" \
174+
WANT_FREESTANDING_NM=yes \
175+
FREESTANDING_NM="$NM_FOR_TARGET" \
174176
WANT_FREESTANDING_OBJCOPY=yes \
175177
FREESTANDING_OBJCOPY="$OBJCOPY_FOR_TARGET" \
176-
WANT_FREESTANDING_OBJDUMP=yes \
177-
FREESTANDING_OBJDUMP="$OBJDUMP_FOR_TARGET" \
178178
WANT_FREESTANDING_READELF=yes \
179179
FREESTANDING_READELF="$READELF_FOR_TARGET" \
180180
"$SRCDIR/build-aux/freestanding-toolchain/freestanding-toolchain" 2>"toolchain-files/bios-i686-toolchain.mk" || exit 1
@@ -203,10 +203,10 @@ else
203203
FREESTANDING_CC="$CC_FOR_TARGET" \
204204
WANT_FREESTANDING_LD=yes \
205205
FREESTANDING_LD="$LD_FOR_TARGET" \
206+
WANT_FREESTANDING_NM=yes \
207+
FREESTANDING_NM="$NM_FOR_TARGET" \
206208
WANT_FREESTANDING_OBJCOPY=yes \
207209
FREESTANDING_OBJCOPY="$OBJCOPY_FOR_TARGET" \
208-
WANT_FREESTANDING_OBJDUMP=yes \
209-
FREESTANDING_OBJDUMP="$OBJDUMP_FOR_TARGET" \
210210
"$SRCDIR/build-aux/freestanding-toolchain/freestanding-toolchain" 2>"toolchain-files/uefi-i686-toolchain.mk" || exit 1
211211
BUILD_UEFI_IA32="limine-uefi-ia32"
212212
NEED_NASM=yes
@@ -232,10 +232,10 @@ else
232232
FREESTANDING_CC="$CC_FOR_TARGET" \
233233
WANT_FREESTANDING_LD=yes \
234234
FREESTANDING_LD="$LD_FOR_TARGET" \
235+
WANT_FREESTANDING_NM=yes \
236+
FREESTANDING_NM="$NM_FOR_TARGET" \
235237
WANT_FREESTANDING_OBJCOPY=yes \
236238
FREESTANDING_OBJCOPY="$OBJCOPY_FOR_TARGET" \
237-
WANT_FREESTANDING_OBJDUMP=yes \
238-
FREESTANDING_OBJDUMP="$OBJDUMP_FOR_TARGET" \
239239
"$SRCDIR/build-aux/freestanding-toolchain/freestanding-toolchain" 2>"toolchain-files/uefi-x86_64-toolchain.mk" || exit 1
240240
BUILD_UEFI_X86_64="limine-uefi-x86-64"
241241
NEED_NASM=yes
@@ -261,10 +261,10 @@ else
261261
FREESTANDING_CC="$CC_FOR_TARGET" \
262262
WANT_FREESTANDING_LD=yes \
263263
FREESTANDING_LD="$LD_FOR_TARGET" \
264+
WANT_FREESTANDING_NM=yes \
265+
FREESTANDING_NM="$NM_FOR_TARGET" \
264266
WANT_FREESTANDING_OBJCOPY=yes \
265267
FREESTANDING_OBJCOPY="$OBJCOPY_FOR_TARGET" \
266-
WANT_FREESTANDING_OBJDUMP=yes \
267-
FREESTANDING_OBJDUMP="$OBJDUMP_FOR_TARGET" \
268268
"$SRCDIR/build-aux/freestanding-toolchain/freestanding-toolchain" 2>"toolchain-files/uefi-aarch64-toolchain.mk" || exit 1
269269
BUILD_UEFI_AARCH64="limine-uefi-aarch64"
270270
fi
@@ -289,10 +289,10 @@ else
289289
FREESTANDING_CC="$CC_FOR_TARGET" \
290290
WANT_FREESTANDING_LD=yes \
291291
FREESTANDING_LD="$LD_FOR_TARGET" \
292+
WANT_FREESTANDING_NM=yes \
293+
FREESTANDING_NM="$NM_FOR_TARGET" \
292294
WANT_FREESTANDING_OBJCOPY=yes \
293295
FREESTANDING_OBJCOPY="$OBJCOPY_FOR_TARGET" \
294-
WANT_FREESTANDING_OBJDUMP=yes \
295-
FREESTANDING_OBJDUMP="$OBJDUMP_FOR_TARGET" \
296296
"$SRCDIR/build-aux/freestanding-toolchain/freestanding-toolchain" 2>"toolchain-files/uefi-riscv64-toolchain.mk" || exit 1
297297
BUILD_UEFI_RISCV64="limine-uefi-riscv64"
298298
fi
@@ -317,10 +317,10 @@ else
317317
FREESTANDING_CC="$CC_FOR_TARGET" \
318318
WANT_FREESTANDING_LD=yes \
319319
FREESTANDING_LD="$LD_FOR_TARGET" \
320+
WANT_FREESTANDING_NM=yes \
321+
FREESTANDING_NM="$NM_FOR_TARGET" \
320322
WANT_FREESTANDING_OBJCOPY=yes \
321323
FREESTANDING_OBJCOPY="$OBJCOPY_FOR_TARGET" \
322-
WANT_FREESTANDING_OBJDUMP=yes \
323-
FREESTANDING_OBJDUMP="$OBJDUMP_FOR_TARGET" \
324324
"$SRCDIR/build-aux/freestanding-toolchain/freestanding-toolchain" 2>"toolchain-files/uefi-loongarch64-toolchain.mk" || exit 1
325325
BUILD_UEFI_LOONGARCH64="limine-uefi-loongarch64"
326326
fi

test/test.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
include $(TOOLCHAIN_FILE)
22
export CC_FOR_TARGET
33
export LD_FOR_TARGET
4-
export OBJDUMP_FOR_TARGET
4+
export NM_FOR_TARGET
55
export OBJCOPY_FOR_TARGET
66
export READELF_FOR_TARGET
77

0 commit comments

Comments
 (0)