_ELIX_LEVEL problems

Jeff Johnston jjohnstn@redhat.com
Wed May 10 00:06:00 GMT 2006


Aha.  I found the problem.  The $(ELIX_SOURCES) is missing from 
lib_a_SOURCES.  This was due to my change recently to fix the problem 
with the object prefix being added properly to all objects.  I'll start 
checking the other libc directories to ensure that I didn't mess those 
up as well.

Patch checked in.

-- Jeff J.

Joern RENNECKE wrote:
> Jeff Johnston wrote:
> 
>> When _ELIX_LEVEL is undefined (i.e. 0), there are no restrictions.  
>> The _ELIX_LEVEL is not supposed to always be defined in newlib.h.  
>> This allows the possibility of the maximum level (currently 4) to 
>> exclude functionality it does not wish to support and to allow future 
>> additional maximums.   Conceivably, yes, the level could be set to 0 
>> and the tests could be made to reflect it, but it seems more intuitive 
>> that if no level is being set, there are no restrictions.  This vs 
>> "why does level 0 have more functionality than level 3".
>>
>> There is quite possibly some missing restrictions in the code as you 
>> have noted regarding vfscanf.c.
>>
>> What specific problems are you seeing in your build that you alluded 
>> to in your other note?
> 
> 
> For an sh-elf build, _ELIX_LEVEL is not defined.  We refer to some of 
> the symbols reserved for higher elix levels, and we used to build all 
> the files required.  In particular:
> 
> bash-2.05b$ grep LIB_OBJS 
> /mnt/scratch/nightly/2006-02-18/sh-elf/sh-elf/newlib/libc/ctype/Makefile
> #LIB_OBJS =
> LIB_OBJS =      isascii.$(oext)         isblank.$(oext)         
> iswalnum.$(oext)        iswalpha.$(oext)        iswblank.$(oext)        
> iswcntrl.$(oext)       iswctype.$(oext)         iswdigit.$(oext)        
> iswgraph.$(oext)        iswlower.$(oext)        iswprint.$(oext)        
> iswpunct.$(oext)        iswspace.$(oext)        iswupper.$(oext)        
> iswxdigit.$(oext)       jp2uc.$(oext)   toascii.$(oext)         
> _tolower.$(oext)        _toupper.$(oext)        towctrans.$(oext)       
> towlower.$(oext)        towupper.$(oext)        wctrans.$(oext)        
> wctype.$(oext)
> #libctype_la_LIBADD = $(LIB_OBJS)
> #libctype_la_DEPENDENCIES = $(LIB_OBJS)
> lib_a_LIBADD = $(LIB_OBJS)
> lib_a_DEPENDENCIES = $(LIB_OBJS)
> 
> This is no longer the case now:
> 
> bash-2.05b$ grep lib_a_OBJECTS 
> /mnt/scratch/nightly/2006-05-03/sh-elf/sh-elf/newlib/libc/ctype/Makefile
> am_lib_a_OBJECTS = $(am__objects_1)
> lib_a_OBJECTS = $(am_lib_a_OBJECTS)
> lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
>        $(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
> 
> Not surprisingly, is isw* files are not included in am__objects_1; they 
> are in am__objects_3.



More information about the Newlib mailing list