This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


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

NLS code completely hosed



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 \

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