This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
NLS code completely hosed
- To: gcc-bugs at gcc dot gnu dot org
- Subject: NLS code completely hosed
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Sat, 03 Jun 2000 15:14:09 +0100
- cc: rearnsha at arm dot com
- Organization: ARM Ltd.
- Reply-To: rearnsha at arm dot com
I can't believe the NLS code has been left enabled for 4 days now, given
just how broken it seems to be. Instead of being able to get on with my
own work, I've just wasted the last 4 hours trying to sort out what is
wrong here, but it seems completely hopeless....
When trying to do a cross-build for arm-semi-aout from a
sparc-sun-solaris2.5.1
1) As has been mentioned before, localealias.c blithely defined memmove in
terms of bcopy, but then assumes it can use the result.
2) It tries to include config.h from the gcc directory, but that file is a
no-op if IN_GCC is not defined.
3) It isn't passed the list of include directories, so even if IN_GCC is
defined, it can't read the various include files that it does need.
4) Even when I do fix the command in gcc's Makefile, to pass the correct
subdir flags, intl/Makefile, tries to compile localealias.c twice and for
one of the invocations it is still using the wrong flags (I think is a
parallel make bug in the makefile)
The patch below sort of makes sure we pass the correct flags to the
sub-make, but even when we do, we still get link errors when trying to
build cc1chill. I've no idea what is going on now...
Undefined first referenced
symbol in file
_nl_msg_cat_cntr ../toplev.o
bindtextdomain ../toplev.o
textdomain ../toplev.o
dcgettext__ ../diagnostic.o
ld: fatal: Symbol referencing errors. No output written to ../cc1chill
Please can someone who understands the i18n code look at this urgently (or
can we back-out the default enabling of this code until such time as these
problems are fixed).
R.
* Makefile.in (libintl.a): Pass SUBDIR_FLAGS_TO_PASS, override the
normal definition of CFLAGS.
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/Makefile.in,v
retrieving revision 1.459
diff -p -r1.459 Makefile.in
*** Makefile.in 2000/06/03 03:01:59 1.459
--- Makefile.in 2000/06/03 14:08:54
*************** intl.o: intl.c intl.h gansidecl.h Makefi
*** 1752,1758 ****
# as that would force a lot of recompiling.
$(top_builddir)/intl/libintl.a:
@echo "$(MAKE) intl.all"
! @$(MAKE) $(FLAGS_TO_PASS) intl.all
# Make sure all the headers are there for xgettext to scan.
$(INTL_TARGETS): $(srcdir)/c-gperf.h \
--- 1752,1759 ----
# as that would force a lot of recompiling.
$(top_builddir)/intl/libintl.a:
@echo "$(MAKE) intl.all"
! @$(MAKE) $(SUBDIR_FLAGS_TO_PASS) CFLAGS='$(ALL_CFLAGS) $(INCLUDES)' \
! intl.all
# Make sure all the headers are there for xgettext to scan.
$(INTL_TARGETS): $(srcdir)/c-gperf.h \