This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: _ELIX_LEVEL problems
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.