This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Locale Build Failure #2




On 8/16/2016 12:40 PM, Corinna Vinschen wrote:
On Aug 16 13:35, Craig Howland wrote:
On 08/16/2016 01:21 PM, Corinna Vinschen wrote:
On Aug 16 12:11, Joel Sherrill wrote:

On 8/16/2016 12:05 PM, Corinna Vinschen wrote:
On Aug 16 11:57, Joel Sherrill wrote:
Hi

Thanks for fixing the first error. Now there is this on all
RTEMS architectures:

arm-rtems4.12-gcc -B/home/joel/test-gcc/b-arm-rtems4.12-newlib/arm-rtems4.12/thumb/newlib/ -isystem /home/joel/test-gcc/b-arm-rtems4.12-newlib/arm-rtems4.12/thumb/newlib/targ-include -isystem /home/joel/test-gcc/newlib-cygwin/newlib/libc/include  -mthumb -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"newlib\ 2.4.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../../../../newlib-cygwin/newlib/libc/locale -D_COMPILING_NEWLIB -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -D_I386MACH_ALLOW_HW_INTERRUPTS -fno-builtin      -g -O2  -mthumb -c -o lib_a-locale.o `test -f 'locale.c' || echo '../../../../../../newlib-cygwin/newlib/libc/locale/'`locale.c
In file included from /home/joel/test-gcc/newlib-cygwin/newlib/libc/include/sys/reent.h:13:0,
                  from /home/joel/test-gcc/newlib-cygwin/newlib/libc/include/sys/errno.h:11,
                  from /home/joel/test-gcc/newlib-cygwin/newlib/libc/include/errno.h:9,
                  from ../../../../../../newlib-cygwin/newlib/libc/locale/locale.c:174:
../../../../../../newlib-cygwin/newlib/libc/locale/locale.c:986:14: error: conflicting types for '__locale_ctype_ptr'
  _DEFUN_VOID (__locale_ctype_ptr)
               ^
In file included from ../../../../../../newlib-cygwin/newlib/libc/locale/locale.c:175:0:
/home/joel/test-gcc/newlib-cygwin/newlib/libc/include/ctype.h:72:7: note: previous declaration of '__locale_ctype_ptr' was here
  char *__locale_ctype_ptr (void);
        ^~~~~~~~~~~~~~~~~~
make[8]: *** [lib_a-locale.o] Error 1
Do you have a patch?
I don't know what to fix. :)

I assume the prototype needs to change. Right?
Perhaps, but I don't see why.  char *foo() == char *foo() in my book.

Yes, char *foo() == char *foo(), but const char *__locale_ctype_ptr(void) !=
char *__locale_ctype_ptr(void), which can happen if _MB_CAPABLE is not
defined.  Could this perhaps be it?
Craig

Oh, right.  I completely missed that _MB_CAPABLE block.  Looks like
a leftover from the old code.  Joel, please try this:

diff --git a/newlib/libc/include/ctype.h b/newlib/libc/include/ctype.h
index d34b8e5..f0f44c9 100644
--- a/newlib/libc/include/ctype.h
+++ b/newlib/libc/include/ctype.h
@@ -66,9 +66,6 @@ extern int toascii_l (int __c, locale_t __l);
 #define _X	0100
 #define	_B	0200

-#ifndef _MB_CAPABLE
-_CONST
-#endif
 char *__locale_ctype_ptr (void);
 # define __CTYPE_PTR	(__locale_ctype_ptr ())

Our emails crossed but I did the opposite. :)

This works for arm-rtems4.12. I am building all targets just to make
sure but the locale settings are the same so it should be the same.

FWIW no warnings other than all the Makefile ones for overriding recipes.

Thanks.

--joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]