patches/glibc/2.5/100-cygwin.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:28:10 2011 +0200 (2011-08-02)
changeset 2590 b64cfb67944e
parent 744 4bf8448536d5
permissions -rw-r--r--
scripts/functions: svn retrieval first tries the mirror for tarballs

The svn download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via svn.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard svn retrieval will kick in.

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Fixes
     2 elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
     3 ...
     4 when building glibc-2.3.x on cygwin
     5 
     6 Idea from
     7 http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
     8 Basically, make glibc use .oST as suffix for 'object static'
     9 instead of .oS, since cygwin has trouble distinguishing .os from .oS
    10 (Original patch had .on, but .oST is more mnemonic for 'object static')
    11 
    12 glibc-linuxthreads-2.3.5 also requires a patch, see 
    13 ../glibc-linuxthreads-2.3.5/glibc-linuxthreads-2.3.5-cygwin.patch
    14 
    15 [ forward ported to glibc-2.3.5 by Petr Cvachoucek:
    16 
    17 Message-ID: <4282FCBA.3040000@unicontrols.cz>
    18 Date: Thu, 12 May 2005 08:50:34 +0200
    19 From: Petr Cvachoucek <cvachoucek@unicontrols.cz>
    20 To: Dan Kegel <dank@kegel.com>
    21 CC:  crossgcc@sources.redhat.com
    22 Subject: Patches to build gcc 3.4.3 / glibc 2.3.5 on cygwin
    23 
    24 Hi Dan,
    25 following patches are needed to build gcc-3.4.3/glibc-2.3.5 toolchain
    26 on cygwin. Tested to build toolchains for powerpc 604 and 750 targets.
    27 
    28 -- 
    29                      Petr Cvachoucek
    30                      Unicontrols a.s.
    31                      http://www.unicontrols.cz
    32 ]
    33 
    34 diff -aur glibc-2.3.5/Makeconfig glibc-2.3.5-cygwin/Makeconfig
    35 --- glibc-2.3.5/Makeconfig	2005-02-16 11:50:19.000000000 +0100
    36 +++ glibc-2.3.5-cygwin/Makeconfig	2005-05-11 08:24:51.046875000 +0200
    37 @@ -472,7 +472,7 @@
    38  # run the linked programs.
    39  link-libc = -Wl,-rpath-link=$(rpath-link) \
    40  	    $(common-objpfx)libc.so$(libc.so-version) \
    41 -	    $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib)
    42 +	    $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib)
    43  # This is how to find at build-time things that will be installed there.
    44  rpath-dirs = math elf dlfcn nss nis rt resolv crypt
    45  endif
    46 @@ -693,7 +693,7 @@
    47  # The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
    48  # to pass different flags for each flavor.
    49  libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
    50 -all-object-suffixes := .o .os .op .og .ob .oS
    51 +all-object-suffixes := .o .os .op .og .ob .oST
    52  object-suffixes :=
    53  CPPFLAGS-.o = $(pic-default)
    54  CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
    55 @@ -749,14 +749,14 @@
    56  
    57  ifeq (yes,$(build-shared))
    58  # Build special library that contains the static-only routines for libc.
    59 -object-suffixes-for-libc += .oS
    60 +object-suffixes-for-libc += .oST
    61  
    62  # Must build the routines as PIC, though, because they can end up in (users')
    63  # shared objects.  We don't want to use CFLAGS-os because users may, for
    64  # example, make that processor-specific.
    65 -CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
    66 -CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
    67 -libtype.oS = lib%_nonshared.a
    68 +CFLAGS-.oST = $(CFLAGS-.o) $(PIC-ccflag)
    69 +CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
    70 +libtype.oST = lib%_nonshared.a
    71  endif
    72  
    73  # The assembler can generate debug information too.
    74 diff -aur glibc-2.3.5/Makerules glibc-2.3.5-cygwin/Makerules
    75 --- glibc-2.3.5/Makerules	2004-12-15 19:52:39.000000000 +0100
    76 +++ glibc-2.3.5-cygwin/Makerules	2005-05-11 08:25:33.578125000 +0200
    77 @@ -417,7 +417,7 @@
    78  # Bounded pointer thunks are only built for *.ob
    79  elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
    80  
    81 -elide-routines.oS += $(filter-out $(static-only-routines),\
    82 +elide-routines.oST += $(filter-out $(static-only-routines),\
    83  				  $(routines) $(aux) $(sysdep_routines)) \
    84  		     $(elide-bp-thunks)
    85  elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
    86 @@ -981,7 +981,7 @@
    87  install: $(inst_libdir)/libc.so
    88  $(inst_libdir)/libc.so: $(common-objpfx)format.lds \
    89  			$(common-objpfx)libc.so$(libc.so-version) \
    90 -			$(inst_libdir)/$(patsubst %,$(libtype.oS),\
    91 +			$(inst_libdir)/$(patsubst %,$(libtype.oST),\
    92  						  $(libprefix)$(libc-name)) \
    93  			$(+force)
    94  	(echo '/* GNU ld script';\
    95 @@ -989,7 +989,7 @@
    96  	 echo '   the static library, so try that secondarily.  */';\
    97  	 cat $<; \
    98  	 echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
    99 -	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
   100 +	      '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\
   101 	      ' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \
   102  	) > $@.new
   103 	mv -f $@.new $@
   104 diff -aur glibc-2.3.5/extra-lib.mk glibc-2.3.5-cygwin/extra-lib.mk
   105 --- glibc-2.3.5/extra-lib.mk	2004-12-02 23:54:47.000000000 +0100
   106 +++ glibc-2.3.5-cygwin/extra-lib.mk	2005-05-11 08:27:28.156250000 +0200
   107 @@ -13,7 +13,7 @@
   108  
   109  ifneq (,$($(lib)-static-only-routines))
   110  ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
   111 -object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
   112 +object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oST)
   113  endif
   114  endif
   115  
   116 @@ -29,7 +29,7 @@
   117  
   118  # Add each flavor of library to the lists of things to build and install.
   119  install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
   120 -extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
   121 +extra-objs += $(foreach o,$(filter-out .os .oST,$(object-suffixes-$(lib))),\
   122  			$(patsubst %,%$o,$(filter-out \
   123  					   $($(lib)-shared-only-routines),\
   124  					   $(all-$(lib)-routines))))
   125 @@ -57,7 +57,7 @@
   126  
   127  
   128  # Use o-iterator.mk to generate a rule for each flavor of library.
   129 -ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib))))
   130 +ifneq (,$(filter-out .os .oST,$(object-suffixes-$(lib))))
   131  define o-iterator-doit
   132  $(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \
   133    $(patsubst %,$(objpfx)%$o,\
   134 @@ -65,7 +65,7 @@
   135  			  $(all-$(lib)-routines))); \
   136  	$$(build-extra-lib)
   137  endef
   138 -object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib)))
   139 +object-suffixes-left = $(filter-out .os .oST,$(object-suffixes-$(lib)))
   140  include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left))
   141  endif
   142  
   143 @@ -77,9 +77,9 @@
   144  	$(build-extra-lib)
   145  endif
   146  
   147 -ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
   148 -$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
   149 -  $(patsubst %,$(objpfx)%.oS,\
   150 +ifneq (,$(filter .oST,$(object-suffixes-$(lib))))
   151 +$(objpfx)$(patsubst %,$(libtype.oST),$(lib:lib%=%)): \
   152 +  $(patsubst %,$(objpfx)%.oST,\
   153  	     $(filter $($(lib)-static-only-routines),\
   154  		      $(all-$(lib)-routines)))
   155  	$(build-extra-lib)
   156 diff -aur glibc-2.3.5/nptl/Makefile glibc-2.3.5-cygwin/nptl/Makefile
   157 --- glibc-2.3.5/nptl/Makefile	2005-02-16 09:45:56.000000000 +0100
   158 +++ glibc-2.3.5-cygwin/nptl/Makefile	2005-05-11 08:26:01.812500000 +0200
   159 @@ -375,7 +375,7 @@
   160  
   161  $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
   162  			      $(objpfx)libpthread.so$(libpthread.so-version) \
   163 -			      $(inst_libdir)/$(patsubst %,$(libtype.oS),\
   164 +			      $(inst_libdir)/$(patsubst %,$(libtype.oST),\
   165  							$(libprefix)pthread) \
   166  			      $(+force)
   167  	(echo '/* GNU ld script';\
   168 @@ -383,7 +383,7 @@
   169  	 echo '   the static library, so try that secondarily.  */';\
   170  	 cat $<; \
   171  	 echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
   172 -	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
   173 +	      '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
   174  	      ')' \
   175  	) > $@.new
   176  	mv -f $@.new $@
   177 diff -aur glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile
   178 --- glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile	2004-08-16 08:46:14.000000000 +0200
   179 +++ glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile	2005-05-11 08:26:25.937500000 +0200
   180 @@ -10,4 +10,4 @@
   181  ASFLAGS-.op += -Wa,-Av9a
   182  ASFLAGS-.og += -Wa,-Av9a
   183  ASFLAGS-.ob += -Wa,-Av9a
   184 -ASFLAGS-.oS += -Wa,-Av9a
   185 +ASFLAGS-.oST += -Wa,-Av9a
   186 
   187 Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>