Re: [PATCH] newlib: libc: define _ctype for AArch64 Cygwin

Corinna Vinschen <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
On Jun 23 16:45, Richard Earnshaw (lists) wrote:
> On 17/06/2025 15:59, Corinna Vinschen wrote:
> > Hi Radek,
> > 
> > On Jun 12 07:46, Radek Barton wrote:
> >> Hello.
> >>
> >> This change defines `_ctype_` symbol used in Cygwin for AArch64 the same way as for x86_64.
> > 
> > Thanks for the patch, looks good, but I'm wondering...
> > 
> > The #else branch is for compatibility with 32 bit x86, which we don't
> > support anymore, so it could have long gone.  Shouldn't we just drop
> > the condition and the #else branch entirely?  It would clean up this
> > code snippet nicely.
> > 
> 
> Or perhaps there should just be a __CYGWIN32 def that's tested for
> code like this.  It certainly feels 'sub-optimal' to be testing
> specific cpu types.

This is cpu-specific, given the leading underscore difference between 32
and 64 bit x86.  We don't define __CYGWIN32 anymore for ages.  There's
only a __CYGWIN__ and the CPU types to choose from.

This is just moot, because we don't support 32 bit x86 anymore, and the
behaviour for each other CPU is identical.


Corinna


> 
> R.
> 
> > What do you think? Do you want to provide the change, perhaps?
> > 
> > 
> > Thanks,
> > Corinna
> > 
> > 
> >> Radek
> >>
> >> ---
> >> >From 7532c751266a766cb3e289ebd7afb2d2c3d1ff3d Mon Sep 17 00:00:00 2001
> >> From: =?UTF-8?q?Radek=20Barto=C5=88?= <[email protected]>
> >> Date: Fri, 6 Jun 2025 16:17:27 +0200
> >> Subject: [PATCH] newlib: libc: define _ctype for AArch64 Cygwin
> >>
> >> ---
> >>  newlib/libc/ctype/ctype_.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/newlib/libc/ctype/ctype_.c b/newlib/libc/ctype/ctype_.c
> >> index 32ce4f318..bf403d761 100644
> >> --- a/newlib/libc/ctype/ctype_.c
> >> +++ b/newlib/libc/ctype/ctype_.c
> >> @@ -95,7 +95,7 @@ char _ctype_b[128 + 256] = {
> >>  /* For backward compatibility */
> >>  char __EXPORT *__ctype_ptr__ = DEFAULT_CTYPE_PTR;
> >>  
> >> -#    ifdef __x86_64__
> >> +#    if defined(__x86_64__) || defined(__aarch64__)
> >>  __asm__ ("					\n\
> >>          .data					\n\
> >>  	.globl  _ctype_				\n\
> >> -- 
> >> 2.49.0.vfs.0.3
> >>
> >>
> >>           
> > 
> >
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.