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: _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.


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