patches/glibc/2.6/220-cross-posix_makefile.patch
author danielrubiob@gmail.com
Tue Feb 11 21:34:48 2014 +0100 (2014-02-11)
changeset 3285 a8cb9039fade
parent 1136 9df0e560ec14
permissions -rw-r--r--
complibs/cloog: bump version

Signed-off-by: Daniel Rubio Bonilla <danielrubiob@gmail.com>
[yann.morin.1998@free.fr: re-order versions]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Cody P Schafer <dev@codyps.com>
Message-Id: <c2de3964cd6d5e4173cc.1391984023@uemo>
Patchwork-Id: 318637
yann@1136
     1
On 20090111.1151+0100, Thomas Jourdan <tjourdan@neuf.fr> wrote:
yann@1136
     2
yann@1136
     3
  I'm still working on the solaris port an I have the same issue here.
yann@1136
     4
  While trying to build the i686-nptl-linux-gnu toolchain under
yann@1136
     5
  OpenSolaris, the problems appears during the make install rule of the
yann@1136
     6
  libc function.
yann@1136
     7
yann@1136
     8
  The problem is that solaris tries to execute ld-linux.so.2, which is an
yann@1136
     9
  elf 32 bits dyn lib, and it fails with a memory fault, not a "cannot
yann@1136
    10
  execute binary file". Hence the build stops on this error.
yann@1136
    11
yann@1136
    12
And on 20090111.1339+0100, he replied with:
yann@1136
    13
yann@1136
    14
  After digging a little, the problem comes from the
yann@1136
    15
  glibc-2.6.1/posix/Makefile. It has been solved starting from glibc 2.7
yann@1136
    16
  so I extracted a patch for glibc 2.6.1.
yann@1136
    17
yann@1136
    18
--- glibc-2.6.1/posix/Makefile	2007-04-04 01:28:20.000000000 +0200
yann@1136
    19
+++ glibc-2.7/posix/Makefile	2007-09-12 01:57:22.000000000 +0200
yann@1136
    20
@@ -98,7 +98,7 @@
yann@1136
    21
 endif
yann@1136
    22
 others		:= getconf
yann@1136
    23
 install-bin	:= getconf
yann@1136
    24
-install-others	:= $(inst_libexecdir)/getconf
yann@1136
    25
+install-others-programs	:= $(inst_libexecdir)/getconf
yann@1136
    26
 
yann@1136
    27
 before-compile	:= testcases.h ptestcases.h
yann@1136
    28
 
yann@1136
    29
@@ -110,7 +110,7 @@
yann@1136
    30
 	     tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \
yann@1136
    31
 	     tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \
yann@1136
    32
 	     bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \
yann@1136
    33
-	     tst-vfork3-mem tst-vfork3.mtrace
yann@1136
    34
+	     tst-vfork3-mem tst-vfork3.mtrace getconf.speclist
yann@1136
    35
 
yann@1136
    36
 include ../Rules
yann@1136
    37
 
yann@1136
    38
@@ -291,12 +291,20 @@
yann@1136
    39
 $(objpfx)bug-glob2-mem: $(objpfx)bug-glob2.out
yann@1136
    40
 	$(common-objpfx)malloc/mtrace $(objpfx)bug-glob2.mtrace > $@
yann@1136
    41
 
yann@1136
    42
-$(inst_libexecdir)/getconf: $(objpfx)getconf FORCE
yann@1136
    43
+$(inst_libexecdir)/getconf: $(inst_bindir)/getconf \
yann@1136
    44
+			    $(objpfx)getconf.speclist FORCE
yann@1136
    45
 	$(addprefix $(..)./scripts/mkinstalldirs ,\
yann@1136
    46
 		    $(filter-out $(wildcard $@),$@))
yann@1136
    47
-	for spec in `LC_ALL=C GETCONF_DIR=/dev/null \
yann@1136
    48
-		     $(run-program-prefix) $< \
yann@1136
    49
-		     _POSIX_V6_WIDTH_RESTRICTED_ENVS`; do \
yann@1136
    50
-		$(INSTALL_PROGRAM) $< $@/$$spec.new; \
yann@1136
    51
-		mv -f $@/$$spec.new $@/$$spec; \
yann@1136
    52
-	done
yann@1136
    53
+	while read spec; do \
yann@1136
    54
+	  ln -f $< $@/$$spec.new || $(INSTALL_PROGRAM) $< $@/$$spec.new; \
yann@1136
    55
+	  mv -f $@/$$spec.new $@/$$spec; \
yann@1136
    56
+	done < $(objpfx)getconf.speclist
yann@1136
    57
+
yann@1136
    58
+$(objpfx)getconf.speclist: $(objpfx)getconf
yann@1136
    59
+ifeq (no,$(cross-compiling))
yann@1136
    60
+	LC_ALL=C GETCONF_DIR=/dev/null \
yann@1136
    61
+	$(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS > $@.new
yann@1136
    62
+else
yann@1136
    63
+	> $@.new
yann@1136
    64
+endif
yann@1136
    65
+	mv -f $@.new $@