Skip to content

Commit ec7ceb7

Browse files
committed
generic: fix PATH_MAX macro redefined in exec-cmd.c on macOS 15.4
Fix an error while building target/linux x64 on macOS 15.4 host, due to the PATH_MAX macro being redefined: mkdir -p /Volumes/test/openwrt/build_dir/target-x86_64_musl/linux-x86_64/linux-6.6.86/tools/objtool && make O=/Volumes/test/openwrt/build_dir/target-x86_64_musl/linux-x86_64/linux-6.6.86 subdir=tools/objtool --no-print-directory -C objtool exec-cmd.c:15:9: error: 'PATH_MAX' macro redefined [-Werror,-Wmacro-redefined] 15 | #define PATH_MAX 4096 | ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h:103:9: note: previous definition is here 103 | #define PATH_MAX 1024 /* max bytes in pathname */ | ^ exec-cmd.c is compiled as part of objtool to run on the host, and therefore host headers are used, where PATH_MAX is already defined. Using an old OpenWRT snapshot from 2025-02-16, where linux-6.6.77 used to build correctly, does not help. Reverting from Xcode 16.3 to 16.2 does not help either. Signed-off-by: Georgi Valkov <[email protected]>
1 parent 907cb88 commit ec7ceb7

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

target/linux/generic/hack-6.6/200-tools_portability.patch

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,19 @@ Signed-off-by: Felix Fietkau <[email protected]>
6161
#define __cold
6262

6363
typedef __u16 __bitwise __le16;
64+
--- a/tools/lib/subcmd/exec-cmd.c
65+
+++ b/tools/lib/subcmd/exec-cmd.c
66+
@@ -12,7 +12,10 @@
67+
#include "subcmd-config.h"
68+
69+
#define MAX_ARGS 32
70+
+
71+
+#ifndef PATH_MAX
72+
#define PATH_MAX 4096
73+
+#endif
74+
75+
static const char *argv_exec_path;
76+
static const char *argv0_path;
6477
--- a/tools/objtool/include/objtool/objtool.h
6578
+++ b/tools/objtool/include/objtool/objtool.h
6679
@@ -12,6 +12,7 @@

0 commit comments

Comments
 (0)