Skip to content

Commit 572e594

Browse files
committed
initial stab at musl-cross-make with gcc 9.2.0 and binutils 2.33.1
1 parent 1539fcd commit 572e594

3 files changed

Lines changed: 93 additions & 2 deletions

File tree

musl-cross-make-confs/Makefile.arch_indep

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ endif
130130
ARCH := $(shell uname -m | sed 's/^\(arm\).*/\1/g')
131131

132132
# versions
133-
GCCVER := 8.3.0
134-
BINUTILSVER := 2.32
133+
GCCVER := 9.2.0
134+
BINUTILSVER := 2.33.1
135135
MUSLVER := 1.1.24
136136
ISLVER := 0.21
137137

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
--- binutils-2.33.1.PRISTINE/bfd/elf32-arm.c
2+
+++ binutils-2.33.1/bfd/elf32-arm.c
3+
@@ -2259,7 +2259,7 @@
4+
5+
/* The name of the dynamic interpreter. This is put in the .interp
6+
section. */
7+
-#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
8+
+#define ELF_DYNAMIC_INTERPRETER "/usr/local/crosware/software/statictoolchain/current/arm-linux-musleabihf/lib/ld.so"
9+
10+
/* FDPIC default stack size. */
11+
#define DEFAULT_STACK_SIZE 0x8000
12+
--- binutils-2.33.1.PRISTINE/bfd/elfnn-aarch64.c
13+
+++ binutils-2.33.1/bfd/elfnn-aarch64.c
14+
@@ -2266,7 +2266,7 @@
15+
16+
/* The name of the dynamic interpreter. This is put in the .interp
17+
section. */
18+
-#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
19+
+#define ELF_DYNAMIC_INTERPRETER "/usr/local/crosware/software/statictoolchain/current/aarch64-linux-musl/lib/ld.so"
20+
21+
#define AARCH64_MAX_FWD_BRANCH_OFFSET \
22+
(((1 << 25) - 1) << 2)
23+
--- binutils-2.33.1.PRISTINE/bfd/elfxx-x86.c
24+
+++ binutils-2.33.1/bfd/elfxx-x86.c
25+
@@ -27,8 +27,8 @@
26+
/* The name of the dynamic interpreter. This is put in the .interp
27+
section. */
28+
29+
-#define ELF32_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
30+
-#define ELF64_DYNAMIC_INTERPRETER "/lib/ld64.so.1"
31+
+#define ELF32_DYNAMIC_INTERPRETER "/usr/local/crosware/software/statictoolchain/current/i686-linux-musl/lib/ld.so"
32+
+#define ELF64_DYNAMIC_INTERPRETER "/usr/local/crosware/software/statictoolchain/current/x86_64-linux-musl/lib/ld.so"
33+
#define ELFX32_DYNAMIC_INTERPRETER "/lib/ldx32.so.1"
34+
35+
bfd_boolean
36+
--- binutils-2.33.1.PRISTINE/ld/emulparams/aarch64linux.sh
37+
+++ binutils-2.33.1/ld/emulparams/aarch64linux.sh
38+
@@ -46,4 +46,4 @@
39+
;;
40+
esac
41+
42+
-ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64.so.1\"
43+
+ELF_INTERPRETER_NAME=\"/usr/local/crosware/software/statictoolchain/current/aarch64-linux-musl/lib/ld.so\"
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
--- gcc-9.2.0.PRISTINE/gcc/config/aarch64/aarch64-linux.h
2+
+++ gcc-9.2.0/gcc/config/aarch64/aarch64-linux.h
3+
@@ -21,10 +21,10 @@
4+
#ifndef GCC_AARCH64_LINUX_H
5+
#define GCC_AARCH64_LINUX_H
6+
7+
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
8+
+#define GLIBC_DYNAMIC_LINKER "/usr/local/crosware/software/statictoolchain/current/aarch64-linux-musl/lib/ld.so"
9+
10+
#undef MUSL_DYNAMIC_LINKER
11+
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
12+
+#define MUSL_DYNAMIC_LINKER "/usr/local/crosware/software/statictoolchain/current/aarch64-linux-musl/lib/ld.so"
13+
14+
#undef ASAN_CC1_SPEC
15+
#define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
16+
--- gcc-9.2.0.PRISTINE/gcc/config/arm/linux-eabi.h
17+
+++ gcc-9.2.0/gcc/config/arm/linux-eabi.h
18+
@@ -85,8 +85,7 @@
19+
#else
20+
#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
21+
#endif
22+
-#define MUSL_DYNAMIC_LINKER \
23+
- "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
24+
+#define MUSL_DYNAMIC_LINKER "/usr/local/crosware/software/statictoolchain/current/arm-linux-musleabihf/lib/ld.so"
25+
26+
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
27+
use the GNU/Linux version, not the generic BPABI version. */
28+
--- gcc-9.2.0.PRISTINE/gcc/config/i386/linux.h
29+
+++ gcc-9.2.0/gcc/config/i386/linux.h
30+
@@ -23,4 +23,4 @@
31+
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
32+
33+
#undef MUSL_DYNAMIC_LINKER
34+
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
35+
+#define MUSL_DYNAMIC_LINKER "/usr/local/crosware/software/statictoolchain/current/i686-linux-musl/lib/ld.so"
36+
--- gcc-9.2.0.PRISTINE/gcc/config/i386/linux64.h
37+
+++ gcc-9.2.0/gcc/config/i386/linux64.h
38+
@@ -32,8 +32,8 @@
39+
#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
40+
41+
#undef MUSL_DYNAMIC_LINKER32
42+
-#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
43+
+#define MUSL_DYNAMIC_LINKER32 "/usr/local/crosware/software/statictoolchain/current/i686-linux-musl/lib/ld.so"
44+
#undef MUSL_DYNAMIC_LINKER64
45+
-#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
46+
+#define MUSL_DYNAMIC_LINKER64 "/usr/local/crosware/software/statictoolchain/current/x86_64-linux-musl/lib/ld.so"
47+
#undef MUSL_DYNAMIC_LINKERX32
48+
#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"

0 commit comments

Comments
 (0)