Fix build on case-insensitive FS as per https://bugs.chromium.org/p/nativeclient/issues/detail?id=855 and https://codereview.chromium.org/3299002/. --- glibc-2.23/extra-lib.mk.orig 2016-02-18 18:54:00.000000000 +0100 +++ glibc-2.23/extra-lib.mk 2016-04-06 18:30:22.000000000 +0200 @@ -13,7 +13,7 @@ ifneq (,$($(lib)-static-only-routines)) ifneq (,$(filter yes%,$(build-shared)$($(lib).so-version))) -object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS) +object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.ons) endif endif @@ -29,7 +29,7 @@ # Add each flavor of library to the lists of things to build and install. install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o))) -extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\ +extra-objs += $(foreach o,$(filter-out .os .ons,$(object-suffixes-$(lib))),\ $(patsubst %,%$o,$(filter-out \ $($(lib)-shared-only-routines),\ $(all-$(lib)-routines)))) @@ -37,8 +37,8 @@ extra-objs += $(patsubst %,%.os,$(filter-out $($(lib)-static-only-routines),\ $(all-$(lib)-routines))) endif -ifneq (,$(filter .oS,$(object-suffixes-$(lib)))) -extra-objs += $(patsubst %,%.oS,$(filter $($(lib)-static-only-routines),\ +ifneq (,$(filter .ons,$(object-suffixes-$(lib)))) +extra-objs += $(patsubst %,%.ons,$(filter $($(lib)-static-only-routines),\ $(all-$(lib)-routines))) endif alltypes-$(lib) := $(foreach o,$(object-suffixes-$(lib)),\ @@ -62,7 +62,7 @@ # Use o-iterator.mk to generate a rule for each flavor of library. -ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib)))) +ifneq (,$(filter-out .os .ons,$(object-suffixes-$(lib)))) define o-iterator-doit $(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \ $(patsubst %,$(objpfx)%$o,\ @@ -70,7 +70,7 @@ $(all-$(lib)-routines))); \ $$(build-extra-lib) endef -object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib))) +object-suffixes-left = $(filter-out .os .ons,$(object-suffixes-$(lib))) include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left)) endif @@ -82,9 +82,9 @@ $(build-extra-lib) endif -ifneq (,$(filter .oS,$(object-suffixes-$(lib)))) -$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \ - $(patsubst %,$(objpfx)%.oS,\ +ifneq (,$(filter .ons,$(object-suffixes-$(lib)))) +$(objpfx)$(patsubst %,$(libtype.ons),$(lib:lib%=%)): \ + $(patsubst %,$(objpfx)%.ons,\ $(filter $($(lib)-static-only-routines),\ $(all-$(lib)-routines))) $(build-extra-lib) --- glibc-2.23/Makeconfig.orig 2016-02-18 18:54:00.000000000 +0100 +++ glibc-2.23/Makeconfig 2016-04-06 18:30:22.000000000 +0200 @@ -496,7 +496,7 @@ link-libc-tests-rpath-link = $(link-libc-rpath-link) endif link-libc-before-gnulib = $(common-objpfx)libc.so$(libc.so-version) \ - $(common-objpfx)$(patsubst %,$(libtype.oS),c) \ + $(common-objpfx)$(patsubst %,$(libtype.ons),c) \ $(as-needed) $(elf-objpfx)ld.so \ $(no-as-needed) link-libc = $(link-libc-rpath-link) $(link-libc-before-gnulib) $(gnulib) @@ -904,7 +904,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 .oS +all-object-suffixes := .o .os .op .og .ons object-suffixes := CPPFLAGS-.o = $(pic-default) CFLAGS-.o = $(filter %frame-pointer,$(+cflags)) @@ -943,14 +943,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 += .ons # 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-.ons = $(CFLAGS-.o) $(PIC-ccflag) +CPPFLAGS-.ons = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1 +libtype.ons = lib%_nonshared.a endif # The assembler can generate debug information too. --- glibc-2.23/Makerules.orig 2016-02-18 18:54:00.000000000 +0100 +++ glibc-2.23/Makerules 2016-04-06 18:30:22.000000000 +0200 @@ -465,7 +465,7 @@ endif endif -elide-routines.oS += $(filter-out $(static-only-routines),\ +elide-routines.ons += $(filter-out $(static-only-routines),\ $(routines) $(aux) $(sysdep_routines)) elide-routines.os += $(static-only-routines) @@ -744,7 +744,7 @@ +depfiles := $(sources:.c=.d) \ $(patsubst %.o,%.d,$(filter %.o,$(extra-objs:.os=.o))) \ - $(patsubst %.oS,%.d,$(filter %.oS,$(extra-objs))) \ + $(patsubst %.ons,%.d,$(filter %.ons,$(extra-objs))) \ $(patsubst %.o,%.d,$(filter %.o,$(extra-test-objs:.os=.o))) \ $(addsuffix .d,$(tests) $(xtests) $(test-srcs)) ifeq ($(build-programs),yes) @@ -1055,7 +1055,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.ons),\ $(libprefix)$(libc-name)) \ $(+force) (echo '/* GNU ld script';\ @@ -1063,7 +1063,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.ons),$(libprefix)$(libc-name))'\ ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \ ) > $@.new mv -f $@.new $@ --- glibc-2.23/nptl/Makefile.orig 2016-02-18 18:54:00.000000000 +0100 +++ glibc-2.23/nptl/Makefile 2016-04-06 18:30:22.000000000 +0200 @@ -428,7 +428,7 @@ $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \ $(objpfx)libpthread.so$(libpthread.so-version) \ - $(inst_libdir)/$(patsubst %,$(libtype.oS),\ + $(inst_libdir)/$(patsubst %,$(libtype.ons),\ $(libprefix)pthread) \ $(+force) (echo '/* GNU ld script';\ @@ -436,7 +436,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.ons),$(libprefix)pthread)'\ ')' \ ) > $@.new mv -f $@.new $@ --- glibc-2.23/sysdeps/i386/i686/Makefile.orig 2016-02-18 18:54:00.000000000 +0100 +++ glibc-2.23/sysdeps/i386/i686/Makefile 2016-04-06 18:30:22.000000000 +0200 @@ -5,10 +5,10 @@ CFLAGS-.os += -Wa,-mtune=i686 CFLAGS-.op += -Wa,-mtune=i686 CFLAGS-.og += -Wa,-mtune=i686 -CFLAGS-.oS += -Wa,-mtune=i686 +CFLAGS-.ons += -Wa,-mtune=i686 ASFLAGS-.o += -Wa,-mtune=i686 ASFLAGS-.os += -Wa,-mtune=i686 ASFLAGS-.op += -Wa,-mtune=i686 ASFLAGS-.og += -Wa,-mtune=i686 -ASFLAGS-.oS += -Wa,-mtune=i686 +ASFLAGS-.ons += -Wa,-mtune=i686 --- glibc-2.23/sysdeps/ieee754/ldbl-opt/Makefile.orig 2016-02-18 18:54:00.000000000 +0100 +++ glibc-2.23/sysdeps/ieee754/ldbl-opt/Makefile 2016-04-06 18:30:22.000000000 +0200 @@ -44,7 +44,7 @@ libnldbl-routines = $(libnldbl-calls:%=nldbl-%) libnldbl-inhibit-o = $(object-suffixes) libnldbl-static-only-routines = $(libnldbl-routines) -extra-objs += $(addsuffix .oS, $(libnldbl-routines)) +extra-objs += $(addsuffix .ons, $(libnldbl-routines)) CFLAGS-nldbl-acos.c = -fno-builtin-acosl CFLAGS-nldbl-acosh.c = -fno-builtin-acoshl --- glibc-2.23/sysdeps/sparc/sparc32/sparcv9/Makefile.orig 2016-02-18 18:54:00.000000000 +0100 +++ glibc-2.23/sysdeps/sparc/sparc32/sparcv9/Makefile 2016-04-06 18:30:22.000000000 +0200 @@ -5,13 +5,13 @@ ASFLAGS-.os += -Wa,-Av9d ASFLAGS-.op += -Wa,-Av9d ASFLAGS-.og += -Wa,-Av9d -ASFLAGS-.oS += -Wa,-Av9d +ASFLAGS-.ons += -Wa,-Av9d else ASFLAGS-.o += -Wa,-Av9a ASFLAGS-.os += -Wa,-Av9a ASFLAGS-.op += -Wa,-Av9a ASFLAGS-.og += -Wa,-Av9a -ASFLAGS-.oS += -Wa,-Av9a +ASFLAGS-.ons += -Wa,-Av9a endif # nscd uses atomic_spin_nop which in turn requires cpu_relax --- glibc-2.23/sysdeps/sparc/sparc64/Makefile.orig 2016-02-18 18:54:00.000000000 +0100 +++ glibc-2.23/sysdeps/sparc/sparc64/Makefile 2016-04-06 18:30:22.000000000 +0200 @@ -7,7 +7,7 @@ ASFLAGS-.os += -Wa,-Av9d ASFLAGS-.op += -Wa,-Av9d ASFLAGS-.og += -Wa,-Av9d -ASFLAGS-.oS += -Wa,-Av9d +ASFLAGS-.ons += -Wa,-Av9d endif # nscd uses atomic_spin_nop which in turn requires cpu_relax