limits.h

Artem B. Bityuckiy mail_lists@mail.ru
Mon Oct 27 06:05:00 GMT 2003


J. Johnston wrote:
> Artem B. Bityuckiy wrote:
> 
>> Hello.
>>
>> I'm using gcc-3.2 for arm-elf target.
>> Configure command line is:
>>
>> --host=i686-pc-linux-gnu --target=arm-elf --enable-libstdcxx-v3 
>> --with-target-short-wchar --norecursion --with-headers=/home/... 
>> --with-headers=/home/...
>>
>> I'm using gcc with Newlib-1.11.0.
>>
>> I need to have correct MB_LEN_MAX macro in my programs. This correct 
>> value is defined in Newlib's limits.h. But gcc masks Newlib's limits.h 
>> by its own limits.h version witch defines MB_LEN_MAX as 1. GCC's 
>> limits.h doesn't include Newlib's limits.h recursively.
>>
>> GCC 3.2.2 on my RH9 Linux host doesn't has such problem - his limits.h 
>> have a directive '#include_next <limits.h>'.
>>
>> I need to have such a directive in my gcc-3.2. How can I do this?
>>
>> It seems that limits.h is generated file - there is no such file in 
>> gcc sources. Also, as I've found, gcc-3.2 adds such '#include_next' 
>> when is configured to i386-linux target. Some utility 'fixinc' exists 
>> in gcc source tree which as I've investigated fixes gcc's includes.
>>
>> Please, tell me how to fix gcc-3.2. May be I should add some 
>> 'configure' option... Any helpful links ?
>>
>> Thanks a lot.
>>
>> Artem.
>>
>>
> 
> Regarding the newlib side, you should be configuring with 
> --enable-newlib-mb, otherwise MB_LEN_MAX will end up 1 for newlib.
> 
> -- Jeff J.
Of course, I'm using --enable-newlib-mb. MB_LEN_MAX macro is 8 in 
Newlib's limits.h but the problem is that I can't include it in my 
programs: #include <limits.h> includes GCC's limits.h which defines 
MB_LEN_MAX to 1. Newlib's limits.h isn't included at all.

Obviously, this isn't Newlib's problem - this is GCC's problem or 
problem of how I build GCC+Newlib.

Best Regards, Artem B. Bityuckiy.



More information about the Newlib mailing list