This is the mail archive of the newlib@sources.redhat.com 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]

Newlib _ctype_ alias kludge now invalid due to PR middle-end/15700 fix.


On cris-axis-elf, with LAST_UPDATED "Wed Mar 16 14:54:19 UTC 2005":

make[9]: Entering directory `/home/hp/combined/cris-sim/cris-elf/v10/newlib/libc/ctype'
/home/hp/combined/cris-sim/./gcc/xgcc -B/home/hp/combined/cris-sim/./gcc/ -nostdinc -B/home/hp/combined/cris-sim/cris-elf/v10/new\
lib/ -isystem /home/hp/combined/cris-sim/cris-elf/v10/newlib/targ-include -isystem /home/hp/combined/combined/newlib/libc/include\
 -B/usr/local/cris-elf/bin/ -B/usr/local/cris-elf/lib/ -isystem /usr/local/cris-elf/include -isystem /usr/local/cris-elf/sys-incl\
ude -L/home/hp/combined/cris-sim/./ld  -march=v10 -mbest-lib-options -DPACKAGE=\"newlib\" -DVERSION=\"1.13.0\"  -I. -I/home/hp/co\
mbined/combined/newlib/libc/ctype  -O2 -DHAVE_RENAME -DHAVE_GETTIMEOFDAY -D_USE_WRITE -fno-builtin      -O2 -g -O2  -march=v10 -m\
best-lib-options -c /home/hp/combined/combined/newlib/libc/ctype/ctype_.c
/home/hp/combined/combined/newlib/libc/ctype/ctype_.c:91: warning: '_ctype_' aliased to undefined symbol '_ctype_b+127'
(compilation continues)

But with LAST_UPDATED "Wed Mar 16 21:10:54 UTC 2005":
make[9]: Entering directory `/home/hp/combined/cris-sim/cris-elf/v10/newlib/libc/ctype'
/home/hp/combined/cris-sim/./gcc/xgcc -B/home/hp/combined/cris-sim/./gcc/ -nostdinc -B/home/hp/combined/cris-sim/cris-elf/v10/new\
lib/ -isystem /home/hp/combined/cris-sim/cris-elf/v10/newlib/targ-include -isystem /home/hp/combined/combined/newlib/libc/include\
 -B/usr/local/cris-elf/bin/ -B/usr/local/cris-elf/lib/ -isystem /usr/local/cris-elf/include -isystem /usr/local/cris-elf/sys-incl\
ude -L/home/hp/combined/cris-sim/./ld  -march=v10 -mbest-lib-options -DPACKAGE=\"newlib\" -DVERSION=\"1.13.0\"  -I. -I/home/hp/co\
mbined/combined/newlib/libc/ctype  -O2 -DHAVE_RENAME -DHAVE_GETTIMEOFDAY -D_USE_WRITE -fno-builtin      -O2 -g -O2  -march=v10 -m\
best-lib-options -c /home/hp/combined/combined/newlib/libc/ctype/ctype_.c
/home/hp/combined/combined/newlib/libc/ctype/ctype_.c:91: error: '_ctype_' aliased to undefined symbol '_ctype_b+127'
make[9]: *** [ctype_.o] Error 1

Apparently due to:

+ 2005-03-16  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/15700
+       * varasm.c (struct alias_pair): Rename from struct output_def_pair.
+       (alias_pairs): Rename from output_defs.
+       (find_decl_and_mark_needed): Split out from assemble_alias.
+       (do_assemble_alias): New.
+       (assemble_output_def): Remove.
+       (finish_aliases_1, finish_aliases_2): New.
+       (process_pending_assemble_output_defs): Remove.
+       (assemble_alias): Defer aliases for which we don't yet have a
+       non-external decl for the target symbol.
+       * passes.c (rest_of_decl_compilation): Register variables with cgraph.
+       * cgraphunit.c (cgraph_finalize_compilation_unit): Use finish_aliases_1.
+       * toplev.c (compile_file): Use finish_aliases_2 instead of
+       process_pending_assemble_output_defs.
+       * tree.h (finish_aliases_1, finish_aliases_2): Declare.
+       (process_pending_assemble_output_defs): Remove.

So, the previously-questionable newlib alias-to-offset-in-table
kludge is finally judged invalid.  This is a heads-up for newlib
users.  IMHO it's not a GCC bug, though there's surely going to
be some commotion.  Maybe a NEWS item is called for, I dunno.

I intend to commit the obvious fix for cris-axis-elf newlib
shortly, but I think all newlib ports that do not already set
the slightly less optimal but valid construct available by
setting 'newlib_cflags="${newlib_cflags} -DCOMPACT_CTYPE"' in
configure.host (see the mmix-* entry).

brgds, H-P


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