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>
2 elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
4 when building glibc-2.3.x on cygwin
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')
12 glibc-linuxthreads-2.3.5 also requires a patch, see
13 ../glibc-linuxthreads-2.3.5/glibc-linuxthreads-2.3.5-cygwin.patch
15 [ forward ported to glibc-2.3.5 by Petr Cvachoucek:
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
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.
31 http://www.unicontrols.cz
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
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
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
53 CPPFLAGS-.o = $(pic-default)
54 CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
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
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
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
78 # Bounded pointer thunks are only built for *.ob
79 elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
81 -elide-routines.oS += $(filter-out $(static-only-routines),\
82 +elide-routines.oST += $(filter-out $(static-only-routines),\
83 $(routines) $(aux) $(sysdep_routines)) \
85 elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
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)) \
94 (echo '/* GNU ld script';\
96 echo ' the static library, so try that secondarily. */';\
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) ') )' \
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
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)
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))))
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,\
135 $(all-$(lib)-routines))); \
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))
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)))
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
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) \
167 (echo '/* GNU ld script';\
169 echo ' the static library, so try that secondarily. */';\
171 echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
172 - '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
173 + '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
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
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
187 Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>