libiberty patch

Jason Merrill jason@cygnus.com
Wed Jul 7 15:22:00 GMT 1999


Someone pointed out that libstdc++ was including some bits from libiberty
that are LGPL, and furthermore don't have any reason to be in libstdc++.
The only things that should be included are functions libstdc++ actually
uses, and perhaps functions needed for ISO C compliance.

Applied.

1999-07-07  Jason Merrill  <jason@yorick.cygnus.com>

	* Makefile.in (needed-list): Only include stuff we actually need
	for libstdc++.

Index: Makefile.in
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/libiberty/Makefile.in,v
retrieving revision 1.24
diff -c -p -r1.24 Makefile.in
*** Makefile.in	1999/06/10 20:43:56	1.24
--- Makefile.in	1999/07/07 22:19:38
*************** install_to_tooldir: all
*** 154,166 ****
  	mv -f $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB).n $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)
  	@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
  
! # needed-list is used by libstdc++.
  needed-list: Makefile
! 	f="$(LIBOBJS) $(ALLOCA) $(EXTRA_OFILES)"; \
! 	case $$f in \
! 	  *alloca.o*) f="$$f xmalloc.o xexit.o" ;; \
! 	esac; \
! 	echo $$f > needed-list
  
  # required-list was used when building a shared bfd/opcodes/libiberty
  # library.  I don't know if it used by anything currently.
--- 154,173 ----
  	mv -f $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB).n $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)
  	@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
  
! # needed-list is used by libstdc++.  NEEDED is the list of functions
! # to include there.  Do not add anything LGPL to this list; libstdc++
! # can't use anything encumbering.
! NEEDED = atexit calloc memchr memcmp memcpy memmove memset rename strchr \
! 	 strerror strrchr strstr strtol strtoul tmpnam vfprintf vprintf \
! 	 vfork waitpid
  needed-list: Makefile
! 	rm -f needed-list; touch needed-list; \
! 	files="$(LIBOBJS) $(EXTRA_OFILES)"; \
! 	for f in $(NEEDED); do \
! 	  case "$$files" in \
! 	    *$$f*) echo $$f >> needed-list ;; \
! 	  esac; \
! 	done
  
  # required-list was used when building a shared bfd/opcodes/libiberty
  # library.  I don't know if it used by anything currently.


More information about the Gcc-patches mailing list