I think this one is good.
Thanks for your review. C. From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Herman ten Brugge via Tinycc-devel Sent: Wednesday, February 09, 2022 08:14 To: tinycc-devel@nongnu.org Cc: Herman ten Brugge Subject: Re: [Tinycc-devel] Fwd: [PATCH] freebsd support update proposal On 2/9/22 06:45, Christian Jullien wrote: Hi Herman, As just tested, your recent patch fixes the __Thread_local issue we have otherwise with <ctype.h> I think, the two following patches proposed by David are also needed, wdyt? diff --git a/include/tccdefs.h b/include/tccdefs.h index 2d42bea..1bef382 100644 --- a/include/tccdefs.h +++ b/include/tccdefs.h @@ -91,6 +91,11 @@ # if __SIZEOF_POINTER__ == 8 /* FIXME, __int128_t is used by setjump */ #define __int128_t struct { unsigned char _dummy[16] __attribute((aligned(16))); } + #define __SIZEOF_SIZE_T__ 8 + #define __SIZEOF_PTRDIFF_T__ 8 +#else + #define __SIZEOF_SIZE_T__ 4 + #define __SIZEOF_PTRDIFF_T__ 4 # endif #elif defined __FreeBSD_kernel__ diff --git a/lib/bcheck.c b/lib/bcheck.c index 0379b6e..3f66b1c 100644 --- a/lib/bcheck.c +++ b/lib/bcheck.c @@ -226,10 +226,13 @@ typedef struct alloca_list_struct { #elif defined(__OpenBSD__) #define BOUND_TID_TYPE pid_t #define BOUND_GET_TID syscall (SYS_getthrid) -#elif defined(__FreeBSD__) || defined(__NetBSD__) +#elif defined(__FreeBSD__) #define BOUND_TID_TYPE pid_t -#define BOUND_GET_TID 0 -#elif defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__riscv) +#define BOUND_GET_TID syscall (SYS_thr_self) +#elif defined(__NetBSD__) +#define BOUND_TID_TYPE pid_t +#define BOUND_GET_TID syscall (SYS_lwp_self) +#elif defined(__linux__) #define BOUND_TID_TYPE pid_t #define BOUND_GET_TID syscall (SYS_gettid) #else There is a typo in the netbsd part. See attached corrected patch. The other parts are ok. Herman From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Herman ten Brugge via Tinycc-devel Sent: Tuesday, February 08, 2022 19:03 To: tinycc-devel@nongnu.org Cc: Herman ten Brugge Subject: Re: [Tinycc-devel] Fwd: [PATCH] freebsd support update proposal On 2/7/22 10:54, grischka wrote: David CARLIER wrote: Hi if nobody objects, I may apply the last aforementioned patch sometime next week. Since you asked: --- a/tests/tests2/46_grep.c +++ b/tests/tests2/46_grep.c @@ -14,6 +14,9 @@ * included and reference made to the fact that reproduction * privileges were granted by DECUS. */ +#if defined(__FreeBSD__) +#include <sys/cdefs.h> +#endif #include <stdio.h> #include <stdlib.h> #include <ctype.h> // tolower() - what is this (nobody will know without a comment) - sys/cdefs.h is not that a user file should include - 46_grep.c looks really "innocent" enough that it should compile OOTB on any C and platform - in general, when tests fail, we want the problem be fixed, not the test Maybe you can find a better solution, or maybe someone else can... -- gr I checked the stdio.h file on freebsd 12.2 and 13.0 and see: ..... #ifndef _STDIO_H_ #define _STDIO_H_ #include <sys/cdefs.h> ..... So the file is included in stdio.h for freebsd. What version of freebsd are you using? Herman PS: I just added a fix for freebsd 13.0 in mob. Kind regards.
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel