patches/glibc/2.6/100-cygwin.patch
author Esben Haabendal <esben.haabendal@prevas.dk>
Fri Oct 07 15:06:44 2011 +0200 (2011-10-07)
changeset 2721 7b64746b0ab3
parent 744 4bf8448536d5
permissions -rw-r--r--
scripts/functions: Fix CT_ExtractGit function.

Change CT_ExtractGit so that it clones the repository, instead of just
symlinking it. After cloning, any given ref is checked out, or if no
ref is given, the HEAD of the repository is checked out.

This makes CT_Extract behave similar for git repositories as it does
for tarballs, so that it for example can be used for passing glibc-ports
as a git repository.

Signed-off-by: "Esben Haabendal" <esben.haabendal@prevas.dk>
[yann.morin.1998@anciens.enib.fr: fix incomplete var rename]
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>