Browse Source

73753d54e8c1d5553be80224cf748c97ca5a5794

pg 8 months ago
parent
commit
cb140f96a0

+ 6 - 1
build/conf/sysincl.conf

@@ -50,7 +50,12 @@ otherwise {
 
 when ($MUSL == "yes") {
     SYSINCL+=build/sysincl/libc-to-musl.yml
-    SYSINCL+=build/sysincl/linux-musl.yml
+    when ($ARCH_AARCH64 == "yes") {
+        SYSINCL+=build/sysincl/linux-musl-aarch64.yml
+    }
+    otherwise {
+        SYSINCL+=build/sysincl/linux-musl.yml
+    }
 }
 
 when ($OS_WINDOWS == "yes") {

+ 7 - 1
build/sysincl/libc-to-musl.yml

@@ -114,7 +114,9 @@
   - endian.h:               contrib/libs/musl/include/endian.h
   - err.h:                  contrib/libs/musl/include/err.h
   - fcntl.h:                contrib/libs/musl/include/fcntl.h
-  - features.h:             contrib/libs/musl/include/features.h
+  - features.h:
+    - contrib/libs/musl/include/features.h
+    - contrib/libs/musl/src/include/features.h
   - fenv.h:                 contrib/libs/musl/include/fenv.h
   - fmtmsg.h:               contrib/libs/musl/include/fmtmsg.h
   - fnmatch.h:              contrib/libs/musl/include/fnmatch.h
@@ -256,3 +258,7 @@
 - source_filter: ^(contrib/libs/glibcasm/glibc/include/features\.h)
   includes:
   - stdc-predef.h: contrib/libs/musl/include/stdc-predef.h
+
+- source_filter: "^contrib/libs/musl"
+  includes:
+    - atomic.h:      contrib/libs/musl/src/internal/atomic.h

+ 12 - 0
build/sysincl/linux-musl-aarch64.yml

@@ -0,0 +1,12 @@
+- includes:
+  - bits/alltypes.h: contrib/libs/musl/arch/aarch64/bits/alltypes.h
+  - bits/errno.h:    contrib/libs/musl/arch/generic/bits/errno.h
+  - bits/fenv.h:     contrib/libs/musl/arch/aarch64/bits/fenv.h
+  - bits/limits.h:   contrib/libs/musl/arch/generic/bits/limits.h
+  - bits/posix.h:    contrib/libs/musl/arch/aarch64/bits/posix.h
+  - bits/reg.h:      contrib/libs/musl/arch/aarch64/bits/reg.h
+  - bits/stat.h:     contrib/libs/musl/arch/aarch64/bits/stat.h
+  - bits/stdint.h:   contrib/libs/musl/arch/aarch64/bits/stdint.h
+  - sys/cdefs.h:     contrib/libs/musl/extra/sys/cdefs.h
+  - sys/sysctl.h:    contrib/libs/musl/extra/sys/sysctl.h
+  - xlocale.h:       contrib/libs/musl/extra/xlocale.h

+ 0 - 5
build/sysincl/misc.yml

@@ -87,11 +87,6 @@
   includes:
     - plugin-api.h # GNU linker plugin API.
 
-- source_filter: "^contrib/libs/musl"
-  includes:
-    - atomic.h:      contrib/libs/musl/src/internal/atomic.h
-    - bits/fenv.h:   contrib/libs/musl/arch/x86_64/bits/fenv.h
-
 - source_filter: "^contrib/libs/zbar"
   includes:
     - error.h:       contrib/libs/zbar/zbar/error.h

+ 12 - 1
contrib/libs/cxxsupp/builtins/ya.make

@@ -28,8 +28,19 @@ IF (MUSL)
     # them with ADDINCL GLOBAL because we do not have an API, and we
     # can not propagate them because libcxx has to put its own
     # includes before musl includes for its include_next to work.
+    IF (ARCH_X86_64)
+        ADDINCL(
+            contrib/libs/musl/arch/x86_64
+        )
+    ENDIF()
+
+    IF (ARCH_AARCH64)
+        ADDINCL(
+            contrib/libs/musl/arch/aarch64
+        )
+    ENDIF()
+
     ADDINCL(
-        contrib/libs/musl/arch/x86_64
         contrib/libs/musl/arch/generic
         contrib/libs/musl/include
         contrib/libs/musl/extra