Submitted By: Martin Schaffner Date: 2004-06-20 Initial Package Version: 2.3.3-lfs-5.1 Upstream Status: Not submitted Origin: http://kegel.com/crosstool/crosstool-0.28-rc23.tar.gz:patches/glibc-2.3.2/glibc-2.3.2-cygwin.patch Description: Enables build on case-insensitive file systems such as FAT or HFS+ Fixes elf/librtld.os: In function `process_envvars': : undefined reference to `__access' ... when building glibc-2.2.5 on cygwin Idea from http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch Basically, make glibc use .oST as suffix for 'object static' instead of .oS, since cygwin has trouble distinguishing .os from .oS (Original patch had .on, but .oST is more mnemonic for 'object static') glibc-linuxthreads-2.3.2 also requires a patch, see ../glibc-linuxthreads-2.3.2/glibc-linuxthreads-2.3.2-cygwin.patch --- glibc-2.3.3-lfs-5.1/Makeconfig.orig 2004-06-20 10:09:04.000000000 +0200 +++ glibc-2.3.3-lfs-5.1/Makeconfig 2004-06-20 10:13:55.000000000 +0200 @@ -445,13 +445,13 @@ # run the linked programs. link-libc = -Wl,-rpath-link=$(rpath-link) \ $(common-objpfx)libc.so$(libc.so-version) \ - $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) + $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib) # This is how to find at build-time things that will be installed there. rpath-dirs = math elf dlfcn nss nis rt resolv crypt else ifneq (,$(filter aix aix%,$(config-os))) link-libc = $(common-objpfx)libc.a \ - $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) + $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib) rpath-dirs = math dlfcn nss nis rt resolv crypt endif endif @@ -668,7 +668,7 @@ # The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX}) # to pass different flags for each flavor. libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o)) -all-object-suffixes := .o .os .op .og .ob .oS +all-object-suffixes := .o .os .op .og .ob .oST object-suffixes := CPPFLAGS-.o = $(pic-default) CFLAGS-.o = $(filter %frame-pointer,$(+cflags)) @@ -724,14 +724,14 @@ ifeq (yes,$(build-shared)) # Build special library that contains the static-only routines for libc. -object-suffixes-for-libc += .oS +object-suffixes-for-libc += .oST # Must build the routines as PIC, though, because they can end up in (users') # shared objects. We don't want to use CFLAGS-os because users may, for # example, make that processor-specific. -CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag) -CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1 -libtype.oS = lib%_nonshared.a +CFLAGS-.oST = $(CFLAGS-.o) $(PIC-ccflag) +CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1 +libtype.oST = lib%_nonshared.a endif # The assembler can generate debug information too. --- glibc-2.3.3-lfs-5.1/Makerules.orig 2004-06-20 10:09:11.000000000 +0200 +++ glibc-2.3.3-lfs-5.1/Makerules 2004-06-20 10:10:33.000000000 +0200 @@ -416,7 +416,7 @@ # Bounded pointer thunks are only built for *.ob elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks)) -elide-routines.oS += $(filter-out $(static-only-routines),\ +elide-routines.oST += $(filter-out $(static-only-routines),\ $(routines) $(aux) $(sysdep_routines)) \ $(elide-bp-thunks) elide-routines.os += $(static-only-routines) $(elide-bp-thunks) @@ -946,7 +946,7 @@ install: $(inst_libdir)/libc.so $(inst_libdir)/libc.so: $(common-objpfx)format.lds \ $(common-objpfx)libc.so$(libc.so-version) \ - $(inst_libdir)/$(patsubst %,$(libtype.oS),\ + $(inst_libdir)/$(patsubst %,$(libtype.oST),\ $(libprefix)$(libc-name)) \ $(+force) (echo '/* GNU ld script';\ @@ -954,7 +954,7 @@ echo ' the static library, so try that secondarily. */';\ cat $<; \ echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \ - '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\ + '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\ ')' \ ) > $@.new mv -f $@.new $@ --- glibc-linuxthreads-2.3.3-lfs-5.1/linuxthreads/Makefile.orig Tue Mar 30 10:33:12 2004 +++ glibc-linuxthreads-2.3.3-lfs-5.1/linuxthreads/Makefile Tue Mar 30 10:33:24 2004 @@ -169,7 +169,7 @@ install: $(inst_libdir)/libpthread.so $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \ $(objpfx)libpthread.so$(libpthread.so-version) \ - $(inst_libdir)/$(patsubst %,$(libtype.oS),\ + $(inst_libdir)/$(patsubst %,$(libtype.oST),\ $(libprefix)pthread) \ $(+force) (echo '/* GNU ld script';\ @@ -177,7 +177,7 @@ echo ' the static library, so try that secondarily. */';\ cat $<; \ echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \ - '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\ + '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\ ')' \ ) > $@.new mv -f $@.new $@