_ELIX_LEVEL problems
Joern RENNECKE
joern.rennecke@st.com
Tue May 9 20:45:00 GMT 2006
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