tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Fwd: [PATCH] freebsd support update proposal


From: Christian Jullien
Subject: Re: [Tinycc-devel] Fwd: [PATCH] freebsd support update proposal
Date: Wed, 9 Feb 2022 09:04:42 +0100

I think this one is good.

 

Thanks for your review.

 

C.

 

From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange.fr@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.fr@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.

 

 

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]