From 577133b4bdabd93704c4aaa724e072569f73050f Mon Sep 17 00:00:00 2001 From: cf_zhao Date: Mon, 6 Mar 2023 12:07:44 +0000 Subject: [PATCH 1/2] rename clang.spec to clang-15.spec. Signed-off-by: cf_zhao --- clang.spec => clang-15.spec | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename clang.spec => clang-15.spec (100%) diff --git a/clang.spec b/clang-15.spec similarity index 100% rename from clang.spec rename to clang-15.spec -- Gitee From ee8def65d420ac3ebc5c27fba441f069b90f7663 Mon Sep 17 00:00:00 2001 From: huchang Date: Tue, 28 Mar 2023 13:20:28 +0800 Subject: [PATCH 2/2] add some c files that clang failed to compile:Clang Glibc Project --- Glibc/test_asm.c | 14 ++++++++++++++ Glibc/test_float128.c | 8 ++++++++ Glibc/test_symbol.c | 11 +++++++++++ 3 files changed, 33 insertions(+) create mode 100644 Glibc/test_asm.c create mode 100644 Glibc/test_float128.c create mode 100644 Glibc/test_symbol.c diff --git a/Glibc/test_asm.c b/Glibc/test_asm.c new file mode 100644 index 0000000..842d54c --- /dev/null +++ b/Glibc/test_asm.c @@ -0,0 +1,14 @@ +#include +#include +#include + +// please use compile command "gcc -S -DX=__NR_exit demo.c -o - | grep @@@" +// this is a tricky method to extract macro value +// gcc can pass the command but clang not +#ifndef X +#define X 0 +#endif // !X + +int main() { + asm ("@@@%0@@@" :: "i"((long int)(X))); +} diff --git a/Glibc/test_float128.c b/Glibc/test_float128.c new file mode 100644 index 0000000..599a769 --- /dev/null +++ b/Glibc/test_float128.c @@ -0,0 +1,8 @@ + +#include + +int main() +{ + printf("sizeof ( Float128) = %ld\n", sizeof (_Float128)); + return 0; +} diff --git a/Glibc/test_symbol.c b/Glibc/test_symbol.c new file mode 100644 index 0000000..a2bb9a8 --- /dev/null +++ b/Glibc/test_symbol.c @@ -0,0 +1,11 @@ + +// compile command : gcc -c test_symbol.c +typedef unsigned long size_t; + +extern void *memcpy(void *, const void *, size_t); + +void *test_memcpy(void *dst, const void *src, size_t n) { + return memcpy(dst, src, n); +} + +extern void *memcpy(void *, const void *, size_t) asm("new_name_of_memcpy"); -- Gitee