* [PATCH 2/6] c: Turn int-conversion warnings into permerrors @ 2023-12-02 0:33 钟居哲 2023-12-02 1:10 ` Patrick O'Neill 2023-12-02 1:13 ` Sam James 0 siblings, 2 replies; 10+ messages in thread From: 钟居哲 @ 2023-12-02 0:33 UTC (permalink / raw) To: gcc-patches; +Cc: thomas, fweimer [-- Attachment #1: Type: text/plain, Size: 22009 bytes --] Hi, This patch cause error on building newlib/glibc/musl on RISC-V port: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_utime.c:5:39: warning: 'struct utimbuf' declared inside parameter list will not be visible outside of this definition or declaration 5 | _utime(const char *path, const struct utimbuf *times) | ^~~~~~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c: In function '_faccessat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c:7:50: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 7 | return syscall_errno (SYS_faccessat, 4, dirfd, file, mode, flags, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ make[5]: *** [Makefile:3315: riscv/riscv_libgloss_a-sys_access.o] Error 1 make[5]: *** Waiting for unfinished jobs.... /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c: In function '_open': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c:8:38: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_open, 3, name, flags, mode, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c: In function '_openat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c:7:47: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 7 | return syscall_errno (SYS_openat, 4, dirfd, name, flags, mode, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ make[5]: *** [Makefile:3427: riscv/riscv_libgloss_a-sys_faccessat.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c: In function '_link': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:7:38: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 7 | return syscall_errno (SYS_link, 2, old_name, new_name, 0, 0, 0, 0); | ^~~~~~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:7:48: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 7 | return syscall_errno (SYS_link, 2, old_name, new_name, 0, 0, 0, 0); | ^~~~~~~~ | | | const char * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c: In function '_fstat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c:12:47: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 12 | int rv = syscall_errno (SYS_fstat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | struct kernel_stat * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'struct kernel_stat *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c: In function '_fstatat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:11:50: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 11 | int rv = syscall_errno (SYS_fstatat, 4, dirfd, file, &kst, flags, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:11:56: error: passing argument 5 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 11 | int rv = syscall_errno (SYS_fstatat, 4, dirfd, file, &kst, flags, 0, 0); | ^~~~ | | | struct kernel_stat * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c: In function '_unlink': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:58: note: expected 'long int' but argument is of type 'struct kernel_stat *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c:8:40: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_unlink, 1, name, 0, 0, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c: In function '_access': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c: In function '_read': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c:8:44: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_read, 3, file, ptr, len, 0, 0, 0); | ^~~ | | | void * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'void *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ make[5]: *** [Makefile:3609: riscv/riscv_libgloss_a-sys_open.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c: In function '_lstat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:10:41: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 10 | int rv = syscall_errno (SYS_lstat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:10:47: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 10 | int rv = syscall_errno (SYS_lstat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | struct kernel_stat * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'struct kernel_stat *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c: In function '_write': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c:9:45: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 9 | return syscall_errno (SYS_write, 3, file, ptr, len, 0, 0, 0); | ^~~ | | | const void * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const void *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c: In function '_stat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:11:40: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 11 | int rv = syscall_errno (SYS_stat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | const char * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c: In function '_gettimeofday': In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:11:46: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 11 | int rv = syscall_errno (SYS_stat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | struct kernel_stat * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c:29:46: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 29 | return syscall_errno (SYS_gettimeofday, 1, tp, 0, 0, 0, 0, 0); | ^~ | | | struct timeval * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'struct kernel_stat *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c:4: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'struct timeval *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ make[5]: *** [Makefile:3623: riscv/riscv_libgloss_a-sys_openat.o] Error 1 make[5]: *** [Makefile:3567: riscv/riscv_libgloss_a-sys_link.o] Error 1 make[5]: *** [Makefile:3455: riscv/riscv_libgloss_a-sys_fstat.o] Error 1 make[5]: *** [Makefile:3469: riscv/riscv_libgloss_a-sys_fstatat.o] Error 1 make[5]: *** [Makefile:3707: riscv/riscv_libgloss_a-sys_unlink.o] Error 1 make[5]: *** [Makefile:4127: riscv/riscv_libsim_a-sys_access.o] Error 1 make[5]: *** [Makefile:3637: riscv/riscv_libgloss_a-sys_read.o] Error 1 make[5]: *** [Makefile:3595: riscv/riscv_libgloss_a-sys_lstat.o] Error 1 make[5]: *** [Makefile:3749: riscv/riscv_libgloss_a-sys_write.o] Error 1 make[5]: *** [Makefile:3665: riscv/riscv_libgloss_a-sys_stat.o] Error 1 make[5]: *** [Makefile:3525: riscv/riscv_libgloss_a-sys_gettimeofday.o] Error 1 juzhe.zhong@rivai.ai ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-02 0:33 [PATCH 2/6] c: Turn int-conversion warnings into permerrors 钟居哲 @ 2023-12-02 1:10 ` Patrick O'Neill 2023-12-02 1:53 ` 钟居哲 2023-12-02 1:13 ` Sam James 1 sibling, 1 reply; 10+ messages in thread From: Patrick O'Neill @ 2023-12-02 1:10 UTC (permalink / raw) To: 钟居哲, gcc-patches; +Cc: thomas, fweimer [-- Attachment #1: Type: text/plain, Size: 24331 bytes --] Hi Juzhe, I can confirm the failure on Newlib. I'm not seeing any issues on glibc 2.37. I haven't tried to build musl. Since this patch promotes warnings to errors breakages were probably expected. The fix may require changes to newlib to remove the errors. I've hacked together a series of patches on top of newlib 4.3.0 that resolves these issues (but I think they'd need more work to be upstream-able): https://github.com/patrick-rivos/riscv-gnu-toolchain/tree/35d8e8c486bd2f6e3e2e673db8d2b979309a6de4/fixups/newlib @Thomas @Florian am I right in assuming that breakages were expected/the fix should come from fixing the warnings? Thanks, Patrick On 12/1/23 16:33, 钟居哲 wrote: > Hi, This patch cause error on building newlib/glibc/musl on RISC-V port: > > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: > error: passing argument 3 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); > | ^~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:2: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_utime.c:5:39: > warning: 'struct utimbuf' declared inside parameter list will not be > visible outside of this definition or declaration > 5 | _utime(const char *path, const struct utimbuf *times) > | ^~~~~~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c: > In function '_faccessat': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c:7:50: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 7 | return syscall_errno (SYS_faccessat, 4, dirfd, file, mode, > flags, 0, 0); > | ^~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c:2: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > make[5]: *** [Makefile:3315: riscv/riscv_libgloss_a-sys_access.o] Error 1 > make[5]: *** Waiting for unfinished jobs.... > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c: > In function '_open': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c:8:38: > error: passing argument 3 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 8 | return syscall_errno (SYS_open, 3, name, flags, mode, 0, 0, 0); > | ^~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c:2: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c: > In function '_openat': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c:7:47: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 7 | return syscall_errno (SYS_openat, 4, dirfd, name, flags, > mode, 0, 0); > | ^~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c:2: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > make[5]: *** [Makefile:3427: riscv/riscv_libgloss_a-sys_faccessat.o] > Error 1 > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c: > In function '_link': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:7:38: > error: passing argument 3 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 7 | return syscall_errno (SYS_link, 2, old_name, new_name, 0, 0, > 0, 0); > | ^~~~~~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:2: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:7:48: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 7 | return syscall_errno (SYS_link, 2, old_name, new_name, 0, 0, > 0, 0); > | ^~~~~~~~ > | | > | const char * > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c: > In function '_fstat': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c:12:47: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 12 | int rv = syscall_errno (SYS_fstat, 2, file, &kst, 0, 0, 0, 0); > | ^~~~ > | | > | struct kernel_stat * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c:3: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'struct kernel_stat *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c: > In function '_fstatat': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:11:50: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 11 | int rv = syscall_errno (SYS_fstatat, 4, dirfd, file, &kst, > flags, 0, 0); > | ^~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:3: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:11:56: > error: passing argument 5 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 11 | int rv = syscall_errno (SYS_fstatat, 4, dirfd, file, &kst, > flags, 0, 0); > | ^~~~ > | | > | struct kernel_stat * > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c: > In function '_unlink': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:58: > note: expected 'long int' but argument is of type 'struct kernel_stat *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c:8:40: > error: passing argument 3 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 8 | return syscall_errno (SYS_unlink, 1, name, 0, 0, 0, 0, 0); > | ^~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c:2: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c: > In function '_access': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: > error: passing argument 3 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); > | ^~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:2: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c: > In function '_read': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c:8:44: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 8 | return syscall_errno (SYS_read, 3, file, ptr, len, 0, 0, 0); > | ^~~ > | | > | void * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c:3: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'void *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > make[5]: *** [Makefile:3609: riscv/riscv_libgloss_a-sys_open.o] Error 1 > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c: > In function '_lstat': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:10:41: > error: passing argument 3 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 10 | int rv = syscall_errno (SYS_lstat, 2, file, &kst, 0, 0, 0, 0); > | ^~~~ > | | > | const char * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:3: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:10:47: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 10 | int rv = syscall_errno (SYS_lstat, 2, file, &kst, 0, 0, 0, 0); > | ^~~~ > | | > | struct kernel_stat * > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'struct kernel_stat *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c: > In function '_write': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c:9:45: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 9 | return syscall_errno (SYS_write, 3, file, ptr, len, 0, 0, 0); > | ^~~ > | | > | const void * > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c:3: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'const void *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c: > In function '_stat': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:11:40: > error: passing argument 3 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 11 | int rv = syscall_errno (SYS_stat, 2, file, &kst, 0, 0, 0, 0); > | ^~~~ > | | > | const char * > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c: > In function '_gettimeofday': > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:3: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: > note: expected 'long int' but argument is of type 'const char *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:11:46: > error: passing argument 4 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 11 | int rv = syscall_errno (SYS_stat, 2, file, &kst, 0, 0, 0, 0); > | ^~~~ > | | > | struct kernel_stat * > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c:29:46: > error: passing argument 3 of 'syscall_errno' makes integer from > pointer without a cast [-Wint-conversion] > 29 | return syscall_errno (SYS_gettimeofday, 1, tp, 0, 0, 0, 0, 0); > | ^~ > | | > | struct timeval * > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: > note: expected 'long int' but argument is of type 'struct kernel_stat *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > In file included from > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c:4: > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: > note: expected 'long int' but argument is of type 'struct timeval *' > 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, > long _a3, long _a4, long _a5) > | ~~~~~^~~ > make[5]: *** [Makefile:3623: riscv/riscv_libgloss_a-sys_openat.o] Error 1 > make[5]: *** [Makefile:3567: riscv/riscv_libgloss_a-sys_link.o] Error 1 > make[5]: *** [Makefile:3455: riscv/riscv_libgloss_a-sys_fstat.o] Error 1 > make[5]: *** [Makefile:3469: riscv/riscv_libgloss_a-sys_fstatat.o] Error 1 > make[5]: *** [Makefile:3707: riscv/riscv_libgloss_a-sys_unlink.o] Error 1 > make[5]: *** [Makefile:4127: riscv/riscv_libsim_a-sys_access.o] Error 1 > make[5]: *** [Makefile:3637: riscv/riscv_libgloss_a-sys_read.o] Error 1 > make[5]: *** [Makefile:3595: riscv/riscv_libgloss_a-sys_lstat.o] Error 1 > make[5]: *** [Makefile:3749: riscv/riscv_libgloss_a-sys_write.o] Error 1 > make[5]: *** [Makefile:3665: riscv/riscv_libgloss_a-sys_stat.o] Error 1 > make[5]: *** [Makefile:3525: > riscv/riscv_libgloss_a-sys_gettimeofday.o] Error 1 > > > ------------------------------------------------------------------------ > juzhe.zhong@rivai.ai ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-02 1:10 ` Patrick O'Neill @ 2023-12-02 1:53 ` 钟居哲 2023-12-02 3:25 ` Patrick O'Neill 0 siblings, 1 reply; 10+ messages in thread From: 钟居哲 @ 2023-12-02 1:53 UTC (permalink / raw) To: patrick, gcc-patches; +Cc: thomas, fweimer [-- Attachment #1: Type: text/plain, Size: 44776 bytes --] No. GLIBC 2.37 also failed: make[4]: Leaving directory '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib/riscv64-unknown-elf/newlib' CC libm/complex/libm_a-casinhl.o make[3]: *** [Makefile:5283: all] Error 2 make[3]: Leaving directory '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib/riscv64-unknown-elf/newlib' make[2]: *** [Makefile:8492: all-target-newlib] Error 2 make[2]: Leaving directory '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib' make[1]: *** [Makefile:879: all] Error 2 make[1]: Leaving directory '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib' make: *** [Makefile:624: stamps/build-newlib] Error 2 make: *** Waiting for unfinished jobs.... CC libm/complex/libm_a-csinhl.o /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c: In function 'ccoshl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c:43:13: error: implicit declaration of function 'coshl'; did you mean 'coshf'? [-Wimplicit-function-declaration] 43 | w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I; | ^~~~~ | coshf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c:43:24: error: implicit declaration of function 'cosl'; did you mean 'cosf'? [-Wimplicit-function-declaration] 43 | w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I; | ^~~~ | cosf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/clogl.c: In function 'clogl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c:43:35: error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? [-Wimplicit-function-declaration] 43 | w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I; | ^~~~~ | sinhf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/clogl.c:42:13: error: implicit declaration of function 'logl'; did you mean 'logf'? [-Wimplicit-function-declaration] 42 | p = logl(rr); | ^~~~ | logf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c:43:46: error: implicit declaration of function 'sinl'; did you mean 'sinf'? [-Wimplicit-function-declaration] 43 | w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I; | ^~~~ | sinf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/clogl.c:43:14: error: implicit declaration of function 'atan2l'; did you mean 'atan2f'? [-Wimplicit-function-declaration] 43 | rr = atan2l(cimagl(z), creall(z)); | ^~~~~~ | atan2f CC libm/complex/libm_a-csinl.o /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cexpl.c: In function 'cexpl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cexpl.c:43:13: error: implicit declaration of function 'expl'; did you mean 'expf'? [-Wimplicit-function-declaration] 43 | r = expl(x); | ^~~~ | expf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cexpl.c:44:17: error: implicit declaration of function 'cosl'; did you mean 'cosf'? [-Wimplicit-function-declaration] 44 | w = r * cosl(y) + r * sinl(y) * I; | ^~~~ | cosf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cexpl.c:44:31: error: implicit declaration of function 'sinl'; did you mean 'sinf'? [-Wimplicit-function-declaration] 44 | w = r * cosl(y) + r * sinl(y) * I; | ^~~~ | sinf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c: In function '_cchshl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c:43:13: error: implicit declaration of function 'fabsl'; did you mean 'fabsf'? [-Wimplicit-function-declaration] 43 | if (fabsl(x) <= 0.5L) { | ^~~~~ | fabsf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cargl.c: In function 'cargl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cargl.c:16:17: error: implicit declaration of function 'atan2l'; did you mean 'atan2f'? [-Wimplicit-function-declaration] 16 | return atan2l (cimagl (z), creall (z)); | ^~~~~~ | atan2f CC libm/complex/libm_a-catanl.o /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c:44:22: error: implicit declaration of function 'coshl'; did you mean 'coshf'? [-Wimplicit-function-declaration] 44 | *c = coshl(x); | ^~~~~ | coshf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c:45:22: error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? [-Wimplicit-function-declaration] 45 | *s = sinhl(x); | ^~~~~ | sinhf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c: In function 'csqrtl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c:80:40: error: implicit declaration of function 'fabsl'; did you mean 'fabsf'? [-Wimplicit-function-declaration] 80 | return (cpackl(fabsl(b - b), copysignl(a, b))); | ^~~~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c:50:24: note: in definition of macro 'cpackl' 50 | #define cpackl(r, i) ((r) + (i) * I) | ^ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c:47:21: error: implicit declaration of function 'expl'; did you mean 'expf'? [-Wimplicit-function-declaration] 47 | e = expl(x); | ^~~~ | expf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c:80:54: error: implicit declaration of function 'copysignl'; did you mean 'copysignf'? [-Wimplicit-function-declaration] 80 | return (cpackl(fabsl(b - b), copysignl(a, b))); | ^~~~~~~~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c:50:30: note: in definition of macro 'cpackl' 50 | #define cpackl(r, i) ((r) + (i) * I) | ^ CC libm/fenv/libm_a-feclearexcept.o CC libm/fenv/libm_a-fe_dfl_env.o CC libm/fenv/libm_a-fegetenv.o CC libm/fenv/libm_a-fegetexceptflag.o make[4]: *** [Makefile:43116: libm/complex/libm_a-ccoshl.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: *** [Makefile:43144: libm/complex/libm_a-clogl.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cprojl.c: In function 'cprojl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cprojl.c:60:32: error: implicit declaration of function 'copysignl'; did you mean 'copysignf'? [-Wimplicit-function-declaration] 60 | IMAG_PART(w) = copysignl(0.0L, cimagl(z)); | ^~~~~~~~~ | copysignf make[4]: *** [Makefile:43200: libm/complex/libm_a-cexpl.o] Error 1 make[4]: *** [Makefile:43172: libm/complex/libm_a-cargl.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccosl.c: In function 'ccosl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccosl.c:43:13: error: implicit declaration of function 'cosl'; did you mean 'cosf'? [-Wimplicit-function-declaration] 43 | w = cosl(creall(z)) * ch - (sinl(creall(z)) * sh) * I; | ^~~~ | cosf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccosl.c:43:37: error: implicit declaration of function 'sinl'; did you mean 'sinf'? [-Wimplicit-function-declaration] 43 | w = cosl(creall(z)) * ch - (sinl(creall(z)) * sh) * I; | ^~~~ | sinf make[4]: *** [Makefile:43214: libm/complex/libm_a-cephes_subrl.o] Error 1 make[4]: *** [Makefile:43158: libm/complex/libm_a-csqrtl.o] Error 1 make[4]: *** [Makefile:43186: libm/complex/libm_a-cprojl.o] Error 1 make[4]: *** [Makefile:43242: libm/complex/libm_a-ccosl.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c: In function 'cpowl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:48:13: error: implicit declaration of function 'powl'; did you mean 'powf'? [-Wimplicit-function-declaration] 48 | r = powl(absa, x); | ^~~~ | powf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c: In function 'ctanhl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c:43:13: error: implicit declaration of function 'coshl'; did you mean 'coshf'? [-Wimplicit-function-declaration] 43 | d = coshl(2.0L * x) + cosl(2.0L * y); | ^~~~~ | coshf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:51:25: error: implicit declaration of function 'expl'; did you mean 'expf'? [-Wimplicit-function-declaration] 51 | r = r * expl(-y * arga); | ^~~~ | expf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c:43:31: error: implicit declaration of function 'cosl'; did you mean 'cosf'? [-Wimplicit-function-declaration] 43 | d = coshl(2.0L * x) + cosl(2.0L * y); | ^~~~ | cosf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:52:37: error: implicit declaration of function 'logl'; did you mean 'logf'? [-Wimplicit-function-declaration] 52 | theta = theta + y * logl(absa); | ^~~~ | logf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c:44:13: error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? [-Wimplicit-function-declaration] 44 | w = sinhl(2.0L * x) / d + (sinl(2.0L * y) / d) * I; | ^~~~~ | sinhf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:54:17: error: implicit declaration of function 'cosl'; did you mean 'cosf'? [-Wimplicit-function-declaration] 54 | w = r * cosl(theta) + (r * sinl(theta)) * I; | ^~~~ | cosf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c:44:38: error: implicit declaration of function 'sinl'; did you mean 'sinf'? [-Wimplicit-function-declaration] 44 | w = sinhl(2.0L * x) / d + (sinl(2.0L * y) / d) * I; | ^~~~ | sinf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:54:36: error: implicit declaration of function 'sinl'; did you mean 'sinf'? [-Wimplicit-function-declaration] 54 | w = r * cosl(theta) + (r * sinl(theta)) * I; | ^~~~ | sinf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c: In function 'ctanl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:43:13: error: implicit declaration of function 'cosl'; did you mean 'cosf'? [-Wimplicit-function-declaration] 43 | d = cosl(2.0L * creall(z)) + coshl(2.0L * cimagl(z)); | ^~~~ | cosf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:43:38: error: implicit declaration of function 'coshl'; did you mean 'coshf'? [-Wimplicit-function-declaration] 43 | d = cosl(2.0L * creall(z)) + coshl(2.0L * cimagl(z)); | ^~~~~ | coshf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:45:13: error: implicit declaration of function 'fabsl'; did you mean 'fabsf'? [-Wimplicit-function-declaration] 45 | if (fabsl(d) < 0.25L) | ^~~~~ | fabsf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:54:13: error: implicit declaration of function 'sinl'; did you mean 'sinf'? [-Wimplicit-function-declaration] 54 | w = sinl(2.0L * creall(z)) / d + (sinhl(2.0L * cimagl(z)) / d) * I; | ^~~~ | sinf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:54:43: error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? [-Wimplicit-function-declaration] 54 | w = sinl(2.0L * creall(z)) / d + (sinhl(2.0L * cimagl(z)) / d) * I; | ^~~~~ | sinhf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c: In function 'csinhl': make[4]: *** [Makefile:43312: libm/complex/libm_a-ctanhl.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c:43:13: error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? [-Wimplicit-function-declaration] 43 | w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I; | ^~~~~ | sinhf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c:43:24: error: implicit declaration of function 'cosl'; did you mean 'cosf'? [-Wimplicit-function-declaration] 43 | w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I; | ^~~~ | cosf make[4]: *** [Makefile:43298: libm/complex/libm_a-cpowl.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c:43:35: error: implicit declaration of function 'coshl'; did you mean 'coshf'? [-Wimplicit-function-declaration] 43 | w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I; | ^~~~~ | coshf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c:43:46: error: implicit declaration of function 'sinl'; did you mean 'sinf'? [-Wimplicit-function-declaration] 43 | w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I; | ^~~~ | sinf make[4]: *** [Makefile:43326: libm/complex/libm_a-ctanl.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinl.c: In function 'csinl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinl.c:43:13: error: implicit declaration of function 'sinl'; did you mean 'sinf'? [-Wimplicit-function-declaration] 43 | w = sinl(creall(z)) * ch + (cosl(creall(z)) * sh) * I; | ^~~~ | sinf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinl.c:43:37: error: implicit declaration of function 'cosl'; did you mean 'cosf'? [-Wimplicit-function-declaration] 43 | w = sinl(creall(z)) * ch + (cosl(creall(z)) * sh) * I; | ^~~~ | cosf /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/catanl.c: In function 'catanl': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/catanl.c:55:20: error: implicit declaration of function 'atan2l'; did you mean 'atan2f'? [-Wimplicit-function-declaration] 55 | t = 0.5L * atan2l(2.0L * x, a); | ^~~~~~ | atan2f /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/catanl.c:65:26: error: implicit declaration of function 'logl'; did you mean 'logf'? [-Wimplicit-function-declaration] 65 | w = w + (0.25L * logl(a)) * I; | ^~~~ | logf make[4]: *** [Makefile:43354: libm/complex/libm_a-csinhl.o] Error 1 make[4]: *** [Makefile:43368: libm/complex/libm_a-csinl.o] Error 1 make[4]: *** [Makefile:43382: libm/complex/libm_a-catanl.o] Error 1 make[4]: Leaving directory '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib-nano/riscv64-unknown-elf/newlib' make[3]: *** [Makefile:5283: all] Error 2 make[3]: Leaving directory '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib-nano/riscv64-unknown-elf/newlib' make[2]: *** [Makefile:8492: all-target-newlib] Error 2 make[2]: Leaving directory '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib-nano' make[1]: *** [Makefile:879: all] Error 2 make[1]: Leaving directory '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib-nano' make: *** [Makefile:641: stamps/build-newlib-nano] Error 2 Confirm newlib/glibc/musl definitely can not be compiled by trunk GCC. juzhe.zhong@rivai.ai From: Patrick O'Neill Date: 2023-12-02 09:10 To: 钟居哲; gcc-patches CC: thomas; fweimer Subject: Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors Hi Juzhe, I can confirm the failure on Newlib. I'm not seeing any issues on glibc 2.37. I haven't tried to build musl. Since this patch promotes warnings to errors breakages were probably expected. The fix may require changes to newlib to remove the errors. I've hacked together a series of patches on top of newlib 4.3.0 that resolves these issues (but I think they'd need more work to be upstream-able): https://github.com/patrick-rivos/riscv-gnu-toolchain/tree/35d8e8c486bd2f6e3e2e673db8d2b979309a6de4/fixups/newlib @Thomas @Florian am I right in assuming that breakages were expected/the fix should come from fixing the warnings? Thanks, Patrick On 12/1/23 16:33, 钟居哲 wrote: Hi, This patch cause error on building newlib/glibc/musl on RISC-V port: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_utime.c:5:39: warning: 'struct utimbuf' declared inside parameter list will not be visible outside of this definition or declaration 5 | _utime(const char *path, const struct utimbuf *times) | ^~~~~~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c: In function '_faccessat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c:7:50: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 7 | return syscall_errno (SYS_faccessat, 4, dirfd, file, mode, flags, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_faccessat.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ make[5]: *** [Makefile:3315: riscv/riscv_libgloss_a-sys_access.o] Error 1 make[5]: *** Waiting for unfinished jobs.... /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c: In function '_open': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c:8:38: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_open, 3, name, flags, mode, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_open.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c: In function '_openat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c:7:47: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 7 | return syscall_errno (SYS_openat, 4, dirfd, name, flags, mode, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_openat.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ make[5]: *** [Makefile:3427: riscv/riscv_libgloss_a-sys_faccessat.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c: In function '_link': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:7:38: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 7 | return syscall_errno (SYS_link, 2, old_name, new_name, 0, 0, 0, 0); | ^~~~~~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_link.c:7:48: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 7 | return syscall_errno (SYS_link, 2, old_name, new_name, 0, 0, 0, 0); | ^~~~~~~~ | | | const char * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c: In function '_fstat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c:12:47: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 12 | int rv = syscall_errno (SYS_fstat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | struct kernel_stat * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstat.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'struct kernel_stat *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c: In function '_fstatat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:11:50: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 11 | int rv = syscall_errno (SYS_fstatat, 4, dirfd, file, &kst, flags, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_fstatat.c:11:56: error: passing argument 5 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 11 | int rv = syscall_errno (SYS_fstatat, 4, dirfd, file, &kst, flags, 0, 0); | ^~~~ | | | struct kernel_stat * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c: In function '_unlink': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:58: note: expected 'long int' but argument is of type 'struct kernel_stat *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c:8:40: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_unlink, 1, name, 0, 0, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_unlink.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c: In function '_access': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:2: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c: In function '_read': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c:8:44: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 8 | return syscall_errno (SYS_read, 3, file, ptr, len, 0, 0, 0); | ^~~ | | | void * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_read.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'void *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ make[5]: *** [Makefile:3609: riscv/riscv_libgloss_a-sys_open.o] Error 1 /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c: In function '_lstat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:10:41: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 10 | int rv = syscall_errno (SYS_lstat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | const char * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_lstat.c:10:47: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 10 | int rv = syscall_errno (SYS_lstat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | struct kernel_stat * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'struct kernel_stat *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c: In function '_write': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c:9:45: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 9 | return syscall_errno (SYS_write, 3, file, ptr, len, 0, 0, 0); | ^~~ | | | const void * In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_write.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'const void *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c: In function '_stat': /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:11:40: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 11 | int rv = syscall_errno (SYS_stat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | const char * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c: In function '_gettimeofday': In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:3: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'const char *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_stat.c:11:46: error: passing argument 4 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 11 | int rv = syscall_errno (SYS_stat, 2, file, &kst, 0, 0, 0, 0); | ^~~~ | | | struct kernel_stat * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c:29:46: error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] 29 | return syscall_errno (SYS_gettimeofday, 1, tp, 0, 0, 0, 0, 0); | ^~ | | | struct timeval * /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:48: note: expected 'long int' but argument is of type 'struct kernel_stat *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ In file included from /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_gettimeofday.c:4: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/internal_syscall.h:66:38: note: expected 'long int' but argument is of type 'struct timeval *' 66 | syscall_errno(long n, int argc, long _a0, long _a1, long _a2, long _a3, long _a4, long _a5) | ~~~~~^~~ make[5]: *** [Makefile:3623: riscv/riscv_libgloss_a-sys_openat.o] Error 1 make[5]: *** [Makefile:3567: riscv/riscv_libgloss_a-sys_link.o] Error 1 make[5]: *** [Makefile:3455: riscv/riscv_libgloss_a-sys_fstat.o] Error 1 make[5]: *** [Makefile:3469: riscv/riscv_libgloss_a-sys_fstatat.o] Error 1 make[5]: *** [Makefile:3707: riscv/riscv_libgloss_a-sys_unlink.o] Error 1 make[5]: *** [Makefile:4127: riscv/riscv_libsim_a-sys_access.o] Error 1 make[5]: *** [Makefile:3637: riscv/riscv_libgloss_a-sys_read.o] Error 1 make[5]: *** [Makefile:3595: riscv/riscv_libgloss_a-sys_lstat.o] Error 1 make[5]: *** [Makefile:3749: riscv/riscv_libgloss_a-sys_write.o] Error 1 make[5]: *** [Makefile:3665: riscv/riscv_libgloss_a-sys_stat.o] Error 1 make[5]: *** [Makefile:3525: riscv/riscv_libgloss_a-sys_gettimeofday.o] Error 1 juzhe.zhong@rivai.ai ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-02 1:53 ` 钟居哲 @ 2023-12-02 3:25 ` Patrick O'Neill 0 siblings, 0 replies; 10+ messages in thread From: Patrick O'Neill @ 2023-12-02 3:25 UTC (permalink / raw) To: 钟居哲, gcc-patches; +Cc: thomas, fweimer [-- Attachment #1: Type: text/plain, Size: 24458 bytes --] That failure is is due to newlib files: /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../*newlib*/newlib/libm/complex/ccoshl.c: In function 'ccoshl': To build gcc w/ glibc with riscv-gnu-toolchain, run make linux. A temporary fix for newlib is here: https://github.com/patrick-rivos/riscv-gnu-toolchain/tree/35d8e8c486bd2f6e3e2e673db8d2b979309a6de4/fixups/newlib On 12/1/23 17:53, 钟居哲 wrote: > No. GLIBC 2.37 also failed: > > make[4]: Leaving directory > '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib/riscv64-unknown-elf/newlib' > CC libm/complex/libm_a-casinhl.o > make[3]: *** [Makefile:5283: all] Error 2 > make[3]: Leaving directory > '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib/riscv64-unknown-elf/newlib' > make[2]: *** [Makefile:8492: all-target-newlib] Error 2 > make[2]: Leaving directory > '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib' > make[1]: *** [Makefile:879: all] Error 2 > make[1]: Leaving directory > '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib' > make: *** [Makefile:624: stamps/build-newlib] Error 2 > make: *** Waiting for unfinished jobs.... > CC libm/complex/libm_a-csinhl.o > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c: > In function 'ccoshl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c:43:13: > error: implicit declaration of function 'coshl'; did you mean 'coshf'? > [-Wimplicit-function-declaration] > 43 | w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I; > | ^~~~~ > | coshf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c:43:24: > error: implicit declaration of function 'cosl'; did you mean 'cosf'? > [-Wimplicit-function-declaration] > 43 | w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I; > | ^~~~ > | cosf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/clogl.c: > In function 'clogl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c:43:35: > error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? > [-Wimplicit-function-declaration] > 43 | w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I; > | ^~~~~ > | sinhf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/clogl.c:42:13: > error: implicit declaration of function 'logl'; did you mean 'logf'? > [-Wimplicit-function-declaration] > 42 | p = logl(rr); > | ^~~~ > | logf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccoshl.c:43:46: > error: implicit declaration of function 'sinl'; did you mean 'sinf'? > [-Wimplicit-function-declaration] > 43 | w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I; > | ^~~~ > | sinf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/clogl.c:43:14: > error: implicit declaration of function 'atan2l'; did you mean > 'atan2f'? [-Wimplicit-function-declaration] > 43 | rr = atan2l(cimagl(z), creall(z)); > | ^~~~~~ > | atan2f > CC libm/complex/libm_a-csinl.o > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cexpl.c: > In function 'cexpl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cexpl.c:43:13: > error: implicit declaration of function 'expl'; did you mean 'expf'? > [-Wimplicit-function-declaration] > 43 | r = expl(x); > | ^~~~ > | expf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cexpl.c:44:17: > error: implicit declaration of function 'cosl'; did you mean 'cosf'? > [-Wimplicit-function-declaration] > 44 | w = r * cosl(y) + r * sinl(y) * I; > | ^~~~ > | cosf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cexpl.c:44:31: > error: implicit declaration of function 'sinl'; did you mean 'sinf'? > [-Wimplicit-function-declaration] > 44 | w = r * cosl(y) + r * sinl(y) * I; > | ^~~~ > | sinf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c: > In function '_cchshl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c:43:13: > error: implicit declaration of function 'fabsl'; did you mean 'fabsf'? > [-Wimplicit-function-declaration] > 43 | if (fabsl(x) <= 0.5L) { > | ^~~~~ > | fabsf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cargl.c: > In function 'cargl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cargl.c:16:17: > error: implicit declaration of function 'atan2l'; did you mean > 'atan2f'? [-Wimplicit-function-declaration] > 16 | return atan2l (cimagl (z), creall (z)); > | ^~~~~~ > | atan2f > CC libm/complex/libm_a-catanl.o > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c:44:22: > error: implicit declaration of function 'coshl'; did you mean 'coshf'? > [-Wimplicit-function-declaration] > 44 | *c = coshl(x); > | ^~~~~ > | coshf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c:45:22: > error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? > [-Wimplicit-function-declaration] > 45 | *s = sinhl(x); > | ^~~~~ > | sinhf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c: > In function 'csqrtl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c:80:40: > error: implicit declaration of function 'fabsl'; did you mean 'fabsf'? > [-Wimplicit-function-declaration] > 80 | return (cpackl(fabsl(b - b), > copysignl(a, b))); > | ^~~~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c:50:24: > note: in definition of macro 'cpackl' > 50 | #define cpackl(r, i) ((r) + (i) * I) > | ^ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cephes_subrl.c:47:21: > error: implicit declaration of function 'expl'; did you mean 'expf'? > [-Wimplicit-function-declaration] > 47 | e = expl(x); > | ^~~~ > | expf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c:80:54: > error: implicit declaration of function 'copysignl'; did you mean > 'copysignf'? [-Wimplicit-function-declaration] > 80 | return (cpackl(fabsl(b - b), > copysignl(a, b))); > | ^~~~~~~~~ > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csqrtl.c:50:30: > note: in definition of macro 'cpackl' > 50 | #define cpackl(r, i) ((r) + (i) * I) > | ^ > CC libm/fenv/libm_a-feclearexcept.o > CC libm/fenv/libm_a-fe_dfl_env.o > CC libm/fenv/libm_a-fegetenv.o > CC libm/fenv/libm_a-fegetexceptflag.o > make[4]: *** [Makefile:43116: libm/complex/libm_a-ccoshl.o] Error 1 > make[4]: *** Waiting for unfinished jobs.... > make[4]: *** [Makefile:43144: libm/complex/libm_a-clogl.o] Error 1 > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cprojl.c: > In function 'cprojl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cprojl.c:60:32: > error: implicit declaration of function 'copysignl'; did you mean > 'copysignf'? [-Wimplicit-function-declaration] > 60 | IMAG_PART(w) = copysignl(0.0L, cimagl(z)); > | ^~~~~~~~~ > | copysignf > make[4]: *** [Makefile:43200: libm/complex/libm_a-cexpl.o] Error 1 > make[4]: *** [Makefile:43172: libm/complex/libm_a-cargl.o] Error 1 > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccosl.c: > In function 'ccosl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccosl.c:43:13: > error: implicit declaration of function 'cosl'; did you mean 'cosf'? > [-Wimplicit-function-declaration] > 43 | w = cosl(creall(z)) * ch - (sinl(creall(z)) * sh) * I; > | ^~~~ > | cosf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ccosl.c:43:37: > error: implicit declaration of function 'sinl'; did you mean 'sinf'? > [-Wimplicit-function-declaration] > 43 | w = cosl(creall(z)) * ch - (sinl(creall(z)) * sh) * I; > | ^~~~ > | sinf > make[4]: *** [Makefile:43214: libm/complex/libm_a-cephes_subrl.o] Error 1 > make[4]: *** [Makefile:43158: libm/complex/libm_a-csqrtl.o] Error 1 > make[4]: *** [Makefile:43186: libm/complex/libm_a-cprojl.o] Error 1 > make[4]: *** [Makefile:43242: libm/complex/libm_a-ccosl.o] Error 1 > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c: > In function 'cpowl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:48:13: > error: implicit declaration of function 'powl'; did you mean 'powf'? > [-Wimplicit-function-declaration] > 48 | r = powl(absa, x); > | ^~~~ > | powf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c: > In function 'ctanhl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c:43:13: > error: implicit declaration of function 'coshl'; did you mean 'coshf'? > [-Wimplicit-function-declaration] > 43 | d = coshl(2.0L * x) + cosl(2.0L * y); > | ^~~~~ > | coshf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:51:25: > error: implicit declaration of function 'expl'; did you mean 'expf'? > [-Wimplicit-function-declaration] > 51 | r = r * expl(-y * arga); > | ^~~~ > | expf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c:43:31: > error: implicit declaration of function 'cosl'; did you mean 'cosf'? > [-Wimplicit-function-declaration] > 43 | d = coshl(2.0L * x) + cosl(2.0L * y); > | ^~~~ > | cosf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:52:37: > error: implicit declaration of function 'logl'; did you mean 'logf'? > [-Wimplicit-function-declaration] > 52 | theta = theta + y * logl(absa); > | ^~~~ > | logf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c:44:13: > error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? > [-Wimplicit-function-declaration] > 44 | w = sinhl(2.0L * x) / d + (sinl(2.0L * y) / d) * I; > | ^~~~~ > | sinhf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:54:17: > error: implicit declaration of function 'cosl'; did you mean 'cosf'? > [-Wimplicit-function-declaration] > 54 | w = r * cosl(theta) + (r * sinl(theta)) * I; > | ^~~~ > | cosf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanhl.c:44:38: > error: implicit declaration of function 'sinl'; did you mean 'sinf'? > [-Wimplicit-function-declaration] > 44 | w = sinhl(2.0L * x) / d + (sinl(2.0L * y) / d) * I; > | ^~~~ > | sinf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/cpowl.c:54:36: > error: implicit declaration of function 'sinl'; did you mean 'sinf'? > [-Wimplicit-function-declaration] > 54 | w = r * cosl(theta) + (r * sinl(theta)) * I; > | ^~~~ > | sinf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c: > In function 'ctanl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:43:13: > error: implicit declaration of function 'cosl'; did you mean 'cosf'? > [-Wimplicit-function-declaration] > 43 | d = cosl(2.0L * creall(z)) + coshl(2.0L * cimagl(z)); > | ^~~~ > | cosf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:43:38: > error: implicit declaration of function 'coshl'; did you mean 'coshf'? > [-Wimplicit-function-declaration] > 43 | d = cosl(2.0L * creall(z)) + coshl(2.0L * cimagl(z)); > | ^~~~~ > | coshf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:45:13: > error: implicit declaration of function 'fabsl'; did you mean 'fabsf'? > [-Wimplicit-function-declaration] > 45 | if (fabsl(d) < 0.25L) > | ^~~~~ > | fabsf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:54:13: > error: implicit declaration of function 'sinl'; did you mean 'sinf'? > [-Wimplicit-function-declaration] > 54 | w = sinl(2.0L * creall(z)) / d + (sinhl(2.0L * > cimagl(z)) / d) * I; > | ^~~~ > | sinf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/ctanl.c:54:43: > error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? > [-Wimplicit-function-declaration] > 54 | w = sinl(2.0L * creall(z)) / d + (sinhl(2.0L * > cimagl(z)) / d) * I; > | ^~~~~ > | sinhf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c: > In function 'csinhl': > make[4]: *** [Makefile:43312: libm/complex/libm_a-ctanhl.o] Error 1 > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c:43:13: > error: implicit declaration of function 'sinhl'; did you mean 'sinhf'? > [-Wimplicit-function-declaration] > 43 | w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I; > | ^~~~~ > | sinhf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c:43:24: > error: implicit declaration of function 'cosl'; did you mean 'cosf'? > [-Wimplicit-function-declaration] > 43 | w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I; > | ^~~~ > | cosf > make[4]: *** [Makefile:43298: libm/complex/libm_a-cpowl.o] Error 1 > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c:43:35: > error: implicit declaration of function 'coshl'; did you mean 'coshf'? > [-Wimplicit-function-declaration] > 43 | w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I; > | ^~~~~ > | coshf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinhl.c:43:46: > error: implicit declaration of function 'sinl'; did you mean 'sinf'? > [-Wimplicit-function-declaration] > 43 | w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I; > | ^~~~ > | sinf > make[4]: *** [Makefile:43326: libm/complex/libm_a-ctanl.o] Error 1 > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinl.c: > In function 'csinl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinl.c:43:13: > error: implicit declaration of function 'sinl'; did you mean 'sinf'? > [-Wimplicit-function-declaration] > 43 | w = sinl(creall(z)) * ch + (cosl(creall(z)) * sh) * I; > | ^~~~ > | sinf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/csinl.c:43:37: > error: implicit declaration of function 'cosl'; did you mean 'cosf'? > [-Wimplicit-function-declaration] > 43 | w = sinl(creall(z)) * ch + (cosl(creall(z)) * sh) * I; > | ^~~~ > | cosf > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/catanl.c: > In function 'catanl': > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/catanl.c:55:20: > error: implicit declaration of function 'atan2l'; did you mean > 'atan2f'? [-Wimplicit-function-declaration] > 55 | t = 0.5L * atan2l(2.0L * x, a); > | ^~~~~~ > | atan2f > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/../../newlib/newlib/libm/complex/catanl.c:65:26: > error: implicit declaration of function 'logl'; did you mean 'logf'? > [-Wimplicit-function-declaration] > 65 | w = w + (0.25L * logl(a)) * I; > | ^~~~ > | logf > make[4]: *** [Makefile:43354: libm/complex/libm_a-csinhl.o] Error 1 > make[4]: *** [Makefile:43368: libm/complex/libm_a-csinl.o] Error 1 > make[4]: *** [Makefile:43382: libm/complex/libm_a-catanl.o] Error 1 > make[4]: Leaving directory > '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib-nano/riscv64-unknown-elf/newlib' > make[3]: *** [Makefile:5283: all] Error 2 > make[3]: Leaving directory > '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib-nano/riscv64-unknown-elf/newlib' > make[2]: *** [Makefile:8492: all-target-newlib] Error 2 > make[2]: Leaving directory > '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib-nano' > make[1]: *** [Makefile:879: all] Error 2 > make[1]: Leaving directory > '/work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-linux-spike-debug/build-newlib-nano' > make: *** [Makefile:641: stamps/build-newlib-nano] Error 2 > > Confirm newlib/glibc/musl definitely can not be compiled by trunk GCC. > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-02 0:33 [PATCH 2/6] c: Turn int-conversion warnings into permerrors 钟居哲 2023-12-02 1:10 ` Patrick O'Neill @ 2023-12-02 1:13 ` Sam James 2023-12-02 3:40 ` Jeff Law 1 sibling, 1 reply; 10+ messages in thread From: Sam James @ 2023-12-02 1:13 UTC (permalink / raw) To: 钟居哲; +Cc: thomas, fweimer, gcc-patches 钟居哲 <juzhe.zhong@rivai.ai> writes: > Hi, This patch cause error on building newlib/glibc/musl on RISC-V port: > > /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: > error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] > 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); > | ^~~~ > | | > | const char * This looks like an issue in newlib. We expect broken code to be broken by the recent changes. Can you investigate it on the newlib side? Thanks. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-02 1:13 ` Sam James @ 2023-12-02 3:40 ` Jeff Law 2023-12-02 5:47 ` Sam James 0 siblings, 1 reply; 10+ messages in thread From: Jeff Law @ 2023-12-02 3:40 UTC (permalink / raw) To: Sam James, 钟居哲; +Cc: thomas, fweimer, gcc-patches On 12/1/23 18:13, Sam James wrote: > > 钟居哲 <juzhe.zhong@rivai.ai> writes: > >> Hi, This patch cause error on building newlib/glibc/musl on RISC-V port: >> >> /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: >> error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] >> 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); >> | ^~~~ >> | | >> | const char * > > This looks like an issue in newlib. We expect broken code to be broken > by the recent changes. Can you investigate it on the newlib side? A ton of stuff in newlib/libgloss is broken due to the compiler changes. But that's not a big surprise -- much of the newlib/libgloss code is c89 and clearly wrong for c99 and newer. Jeff ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-02 3:40 ` Jeff Law @ 2023-12-02 5:47 ` Sam James 2023-12-02 15:19 ` Jeff Law 0 siblings, 1 reply; 10+ messages in thread From: Sam James @ 2023-12-02 5:47 UTC (permalink / raw) To: Jeff Law Cc: Sam James, 钟居哲, thomas, fweimer, gcc-patches Jeff Law <jeffreyalaw@gmail.com> writes: > On 12/1/23 18:13, Sam James wrote: >> 钟居哲 <juzhe.zhong@rivai.ai> writes: >> >>> Hi, This patch cause error on building newlib/glibc/musl on RISC-V port: >>> >>> /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: >>> error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] >>> 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); >>> | ^~~~ >>> | | >>> | const char * >> This looks like an issue in newlib. We expect broken code to be >> broken >> by the recent changes. Can you investigate it on the newlib side? > A ton of stuff in newlib/libgloss is broken due to the compiler > changes. But that's not a big surprise -- much of the > newlib/libgloss code is c89 and clearly wrong for c99 and newer. Yeah, it's probably a reasonable candidate for -fpermissive to start with until it's cleaned up. (Also, sorry, I didn't mean my comment to appear glib. I just meant to say "yes, this looks expected".) > > Jeff thanks, sam ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-02 5:47 ` Sam James @ 2023-12-02 15:19 ` Jeff Law 2023-12-04 7:45 ` Kito Cheng 0 siblings, 1 reply; 10+ messages in thread From: Jeff Law @ 2023-12-02 15:19 UTC (permalink / raw) To: Sam James; +Cc: 钟居哲, thomas, fweimer, gcc-patches On 12/1/23 22:47, Sam James wrote: > > Jeff Law <jeffreyalaw@gmail.com> writes: > >> On 12/1/23 18:13, Sam James wrote: >>> 钟居哲 <juzhe.zhong@rivai.ai> writes: >>> >>>> Hi, This patch cause error on building newlib/glibc/musl on RISC-V port: >>>> >>>> /work/home/jzzhong/work/toolchain/riscv/build/dev-rv64gcv_zvfh_zfh-lp64d-medany-newlib-spike-debug/../../newlib/libgloss/riscv/sys_access.c:8:40: >>>> error: passing argument 3 of 'syscall_errno' makes integer from pointer without a cast [-Wint-conversion] >>>> 8 | return syscall_errno (SYS_access, 2, file, mode, 0, 0, 0, 0); >>>> | ^~~~ >>>> | | >>>> | const char * >>> This looks like an issue in newlib. We expect broken code to be >>> broken >>> by the recent changes. Can you investigate it on the newlib side? >> A ton of stuff in newlib/libgloss is broken due to the compiler >> changes. But that's not a big surprise -- much of the >> newlib/libgloss code is c89 and clearly wrong for c99 and newer. > > Yeah, it's probably a reasonable candidate for -fpermissive to start > with until it's cleaned up. Perhaps. Particularly if it can be confined to libgloss as that's where the bulk of the problems are. It'd be even better if we could constrain it per-port, but I suspect putting all that in place would be more work than just fixing this stuff. > > (Also, sorry, I didn't mean my comment to appear glib. I just meant to > say "yes, this looks expected".) No worries, I didn't take it that way at all. I fully agree this looks expected and while annoying it's not a big deal IMHO. We fix and move on. jeff ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-02 15:19 ` Jeff Law @ 2023-12-04 7:45 ` Kito Cheng 2023-12-05 0:25 ` Kito Cheng 0 siblings, 1 reply; 10+ messages in thread From: Kito Cheng @ 2023-12-04 7:45 UTC (permalink / raw) To: Jeff Law Cc: Sam James, 钟居哲, thomas, fweimer, gcc-patches RISC-V newlib patch send, one for libgloss and another one for libm, the libm issue is because we don't have right long double support, however newlib has supported that few months ago, and porting effort is minor, so I just port that to fix the issue :) https://sourceware.org/pipermail/newlib/2023/020725.html https://sourceware.org/pipermail/newlib/2023/020726.html ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] c: Turn int-conversion warnings into permerrors 2023-12-04 7:45 ` Kito Cheng @ 2023-12-05 0:25 ` Kito Cheng 0 siblings, 0 replies; 10+ messages in thread From: Kito Cheng @ 2023-12-05 0:25 UTC (permalink / raw) To: Jeff Law Cc: Sam James, 钟居哲, thomas, fweimer, gcc-patches both patches are landed, newlib trunk should be able to build with gcc trunk now. On Mon, Dec 4, 2023 at 3:45 PM Kito Cheng <kito.cheng@gmail.com> wrote: > > RISC-V newlib patch send, one for libgloss and another one for libm, > the libm issue is because we don't have right long double support, > however newlib has supported that few months ago, and porting effort > is minor, so I just port that to fix the issue :) > > https://sourceware.org/pipermail/newlib/2023/020725.html > https://sourceware.org/pipermail/newlib/2023/020726.html ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-12-05 0:25 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-12-02 0:33 [PATCH 2/6] c: Turn int-conversion warnings into permerrors 钟居哲 2023-12-02 1:10 ` Patrick O'Neill 2023-12-02 1:53 ` 钟居哲 2023-12-02 3:25 ` Patrick O'Neill 2023-12-02 1:13 ` Sam James 2023-12-02 3:40 ` Jeff Law 2023-12-02 5:47 ` Sam James 2023-12-02 15:19 ` Jeff Law 2023-12-04 7:45 ` Kito Cheng 2023-12-05 0:25 ` Kito Cheng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).