Fixes elf/librtld.os: In function `process_envvars': : undefined reference to `__access' ... when building glibc-2.3.2 on cygwin Idea from http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch forward ported to glibc-2.3.2. 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') diff -Naur from-cvs/Makeconfig patched/Makeconfig --- from-cvs/Makeconfig Fri Jan 11 14:40:35 2002 +++ patched/Makeconfig Fri Jan 11 15:07:30 2002 @@ -439,13 +439,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 (,$(findstring 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 @@ -649,7 +649,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)) @@ -703,14 +703,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 -libtype.oS = lib%_nonshared.a +CFLAGS-.oST = $(CFLAGS-.o) $(pic-ccflag) +CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC +libtype.oST = lib%_nonshared.a endif diff -Naur from-cvs/Makerules patched/Makerules --- from-cvs/Makerules Fri Jan 11 14:40:42 2002 +++ patched/Makerules Fri Jan 11 15:06:00 2002 @@ -361,7 +361,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) @@ -842,14 +842,14 @@ # of the files are taken by the linker. install: $(inst_libdir)/libc.so $(inst_libdir)/libc.so: $(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';\ echo ' Use the shared library, but some functions are only in';\ echo ' the static library, so try that secondarily. */';\ 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 $@