+++ /dev/null
-# ChangeLog for dev-libs/uclibc
-# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/ChangeLog,v 1.44 2005/01/11 06:19:57 vapier Exp $
-
- 11 Jan 2005; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.26-r8.ebuild:
- Merge psm & my cross compile work together and BAM we have a sweet ebuild.
-
- 14 Dec 2004; <solar@gentoo.org> uclibc-0.9.26-r8.ebuild:
- - Improved hardened handling bug 73699. Initial support for xattr.
-
- 10 Nov 2004; <solar@gentoo.org> uclibc-0.9.26-r8.ebuild:
- uclibc updates
-
-*uclibc-0.9.26-r8 (06 Nov 2004)
-
- 06 Nov 2004; Mike Frysinger <vapier@gentoo.org> +uclibc-0.9.26-r8.ebuild:
- Add the ability to select CPU/endian type #69871.
-
- 28 Oct 2004; <solar@gentoo.org> uclibc-0.9.26-r7.ebuild:
- uclibc-0.9.26-r7 marked stable for x86/arm/ppc/mips. 30 days in ~arch,
- security changes only which mark unsecvars stable
-
- 13 Oct 2004; <solar@gentoo.org> files/0.9.26/ssp.c:
- more updates to ssp.c
-
- 12 Oct 2004; <solar@gentoo.org> files/0.9.26/ssp.c:
- reverting to old ssp behavior
-
-*uclibc-0.9.26-r7 (28 Sep 2004)
-
- 28 Sep 2004; <solar@gentoo.org>
- +files/0.9.26/uClibc-20040921-ldso-unsecvars.patch,
- +files/0.9.26/unsecvars.h, +uclibc-0.9.26-r7.ebuild:
- added unsecvars handling to uclibc. testing ground here and going mainline
- afterwords
-
- 06 Sep 2004; Ciaran McCreesh <ciaranm@gentoo.org> uclibc-0.9.26-r3.ebuild,
- uclibc-0.9.26-r4.ebuild, uclibc-0.9.26-r5.ebuild, uclibc-9999.ebuild:
- Switch to use epause and ebeep, bug #62950
-
-*uclibc-9999 (25 Aug 2004)
-
- 25 Aug 2004; Mike Frysinger <vapier@gentoo.org>
- +uclibc-9999.ebuild:
- CVS ebuild to make our (well mine at least) lives easier.
-
- 19 Aug 2004; <solar@gentoo.org> uclibc-0.9.26-r1.ebuild,
- uclibc-0.9.26-r2.ebuild, uclibc-0.9.26-r3.ebuild, uclibc-0.9.26-r4.ebuild,
- uclibc-0.9.26-r5.ebuild:
- update RDEPEND. bug 60911
-
- 09 Aug 2004; Mike Frysinger <vapier@gentoo.org>
- +files/0.9.26/uclibc-0.9.26-ldso-cache.patch, uclibc-0.9.26-r5.ebuild:
- Add a small patch to allow loading of ELF_LIBC0 libraries.
-
- 09 Aug 2004; Mike Frysinger <vapier@gentoo.org>
- +files/0.9.26/uclibc-0.9.26-resolve-segfault.patch, uclibc-0.9.26-r5.ebuild:
- Add a homebrewed patch to fix the bug with gethostname() which didnt setup the
- h_aliases data.
-
-*uclibc-0.9.26-r5 (09 Aug 2004)
-
- 09 Aug 2004; <solar@gentoo.org> uclibc-0.9.26-r5.ebuild:
- version bump requested by spanky
-
- 06 Aug 2004; Mike Frysinger <vapier@gentoo.org>
- +files/0.9.26/arm-ucontext.patch, uclibc-0.9.26-r4.ebuild:
- Make sure arm/ucontext.h includes the right context files and fix the ld utils
- to properly read/write /etc/ld.so.* files.
-
-*uclibc-0.9.26-r4 (30 Jul 2004)
-
- 30 Jul 2004; <solar@gentoo.org> uclibc-0.9.26-r4.ebuild:
- updated the cvs snapshot so we can get some header updates
-
- 13 Jul 2004; <solar@gentoo.org> uclibc-0.9.26-r3.ebuild:
- paying respect to mjn3 and his DEDICATION to his wife in the docs
-
-*uclibc-0.9.26-r3 (12 Jul 2004)
-
- 12 Jul 2004; <solar@gentoo.org> uclibc-0.9.26-r3.ebuild,
- files/0.9.26/uclibc-0.9.26-noexecstack.patch:
- more uclibc updates from Peter S. Mazinger
-
- 05 Jul 2004; <solar@gentoo.org> uclibc-0.9.21.ebuild,
- uclibc-0.9.26-r1.ebuild, uclibc-0.9.26-r2.ebuild, files/getent:
- added getent which is a shell replacement (uclibc does not have it, but
- ebuild.sh uses it. So we need it!
-
- 01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> uclibc-0.9.21.ebuild,
- uclibc-0.9.26-r1.ebuild, uclibc-0.9.26-r2.ebuild:
- virtual/glibc -> virtual/libc
-
- 27 Jun 2004; <solar@gentoo.org> uclibc-0.9.21.ebuild,
- uclibc-0.9.26-r1.ebuild, uclibc-0.9.26-r2.ebuild:
- updated PROVIDES for virtual/libc
-
-*uclibc-0.9.26-r2 (23 Jun 2004)
-
- 23 Jun 2004; <solar@gentoo.org> uclibc-0.9.26-r2.ebuild,
- files/0.9.26/uclibc-0.9.26-arm-dl-sysdep.patch:
- Added patch for ARCH=arm to prevent a static inlines from being included more
- than one time. sent patch upstream
-
- 22 Jun 2004; <solar@gentoo.org> files/0.9.26/ssp.c,
- files/0.9.26/uClibc-20040613-do_rem.patch,
- files/0.9.26/uclibc-0.9.26-ssp-gcc34-after-frandom.patch:
- major uclibc cleanups. New IUSE= flags and functionality
-
- 26 May 2004; Mike Frysinger <vapier@gentoo.org>
- +files/0.9.26/arm-fix-missing-syscalls.patch, uclibc-0.9.26-r1.ebuild:
- Add patch to allow arm building
-
- 01 Feb 2004; <solar@gentoo.org> uclibc-0.9.23.ebuild,
- uclibc-0.9.26-r1.ebuild, uclibc-0.9.26.ebuild:
- The etdyn local use flag has been renamed to pie (Position Independent
- Executable) Removed old ebuilds.. Keeping 0.9.21 as stable till Gentoo has a
- working uClibc toolchain in place
-
-*uclibc-0.9.26-r1 (08 Jan 2004)
-
- 08 Jan 2004; <solar@gentoo.org> uclibc-0.9.26-r1.ebuild,
- files/0.9.26/uClibc-0.9.26-Makefile.patch,
- files/0.9.26/uClibc-0.9.26-pie-option.patch:
- Attached is one patch needed to really enable FORCE_SHAREABLE_SEGMENTS
- option, the other is to build uclibc against the installed kernel-headers
- (not kernel-source) - Peter S. Mazinger gentoo-embedded mailing list.
-
-*uclibc-0.9.26 (04 Jan 2004)
-
- 04 Jan 2004; <solar@gentoo.org> uclibc-0.9.25-r1.ebuild,
- uclibc-0.9.25.ebuild, uclibc-0.9.26.ebuild:
- version bump.. there was a pthread bug that slipped though uclibc.org testing
-
-*uclibc-0.9.25-r1 (04 Jan 2004)
-
- 04 Jan 2004; <solar@gentoo.org> uclibc-0.9.21.ebuild, uclibc-0.9.23.ebuild,
- uclibc-0.9.25-r1.ebuild, uclibc-0.9.25.ebuild:
- added back etdyn/pie support for x86. If -fstack-protector is in the users
- CFLAGS then let uclibc provide __guard symbols
-
-*uclibc-0.9.25 (03 Jan 2004)
-
- 03 Jan 2004; Mike Frysinger <vapier@gentoo.org> :
- Version bumpage #36235. Patches no longer needed since they've all been
- integrated upstream.
-
-*uclibc-0.9.23 (15 Nov 2003)
-
- 21 Nov 2003; <solar@gentoo.org> metadata.xml:
- update metadata.xml
-
- 21 Nov 2003; <solar@gentoo.org> uclibc-0.9.22.ebuild,
- files/uClibc-0.9.22-etdyn.patch, files/uClibc-0.9.22-pax.patch,
- files/0.9.23/uClibc-0.9.23-etdyn.patch,
- files/0.9.23/uClibc-0.9.23-flipturn.patch:
- updated etdyn patches. no major functional changes to revision bump, removed
- buggy 0.9.22 code from portage
-
- 15 Nov 2003; <solar@gentoo.org> uclibc-0.9.23.ebuild,
- files/0.9.23/uClibc-0.9.23-etdyn.patch,
- files/0.9.23/uClibc-0.9.23-flipturn.patch,
- files/0.9.23/uClibc-0.9.23-pax.patch:
- version bump, 0.9.22 was braindead.. In this release we continue support for
- PaX etdyn executabes thanks to the PaX Team and Peter S. Mazinger as well as
- add a small patch that was submited to the uClibc by Rob McMullen
-
-*uclibc-0.9.22 (11 Nov 2003)
-
- 11 Nov 2003; <solar@gentoo.org> uclibc-0.9.22.ebuild,
- files/uClibc-0.9.22-etdyn.patch, files/uClibc-0.9.22-pax.patch:
- version bump, this ebuild includes experimental pax-etdyn support for uclibc
- when local use flag etdyn is used
-
- 04 Oct 2003; <solar@gentoo.org> uclibc-0.9.21.ebuild:
- marking stable on x86, and added a metadata.xml
-
-*uclibc-0.9.21 (10 Sep 2003)
-
- 30 Sep 2003; Joshua Kinard <kumba@gentoo.org> uclibc-0.9.21.ebuild:
- Added ~sparc & ~mips to KEYWORDS
- Useful for building our netboot images with
-
- 10 Sep 2003; <solar@gentoo.org> uclibc-0.9.21.ebuild:
- andersee is pleased to announce the immediate availability of uClibc 0.9.21.
- This release has been brewing for several months now, and provides quite a lot
- of additional functionality as well as quite a few bug fixes. The biggest
- thing in this release (and I do mean that literally) is that uClibc now has
- full ANSI/ISO C99 locale support. The most interesting thing for uClinux are
- the additional config options that will let you tune the library to be even
- smaller, for example, by disabling all the strerror() messages.
-
-*uclibc-0.9.20 (09 Jul 2003)
-
- 09 Jul 2003; Mike Frysinger <vapier@gentoo.org> :
- Version bumpage.
-
-*uclibc-0.9.19 (19 Jun 2003)
-
- 19 Jun 2003; Mike Frysinger <vapier@gentoo.org> :
- Version bump #15579 thanks to David Bryson <mutex@kerneli.org>.
-
-*uclibc-0.9.16 (11 Nov 2002)
-
- 25 May 2003; Martin Holzer <mholzer@gentoo.org> uclibc-0.9.16.ebuild:
- now uses mirror://kernel
-
- 11 Nov 2002; Mike Frysinger <vapier@gentoo.org> :
- Initial import. Ebuild submitted by me.
+++ /dev/null
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 1265061fc51e9b3db8020c13f2e25a76 ChangeLog 8165
-MD5 e96b4dfc373a1cdf7735aeae52c4cf7e metadata.xml 999
-MD5 965ff7a705ad0a3133b02c98f8100e92 uclibc-0.9.21.ebuild 1097
-MD5 17ba3d0e6436718dafb750dade5d0869 uclibc-0.9.26-r5.ebuild 7658
-MD5 64742403e39911df25935b6099d30043 uclibc-0.9.26-r7.ebuild 7862
-MD5 c2b3545d487eac266e731aee91620602 uclibc-0.9.26-r8.ebuild 9426
-MD5 14f021d1cfb0e76ce684b8eefba1adfc uclibc-9999.ebuild 5442
-MD5 d16f404e56abc9f0ab5c372b88a6905d files/Makefile-cp-order-fix.patch 897
-MD5 799adc7fb6ec9ffd653831cea1d32dd5 files/digest-uclibc-0.9.21 67
-MD5 0b733285f186f31c1be9ffcc42f1064e files/getent 973
-MD5 e0556dd58957468793213ab327c590d3 files/digest-uclibc-0.9.26-r8 232
-MD5 6d2b5c523d34c86df9bc37747d9261dc files/digest-uclibc-0.9.26-r5 231
-MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-uclibc-9999 0
-MD5 6d2b5c523d34c86df9bc37747d9261dc files/digest-uclibc-0.9.26-r7 231
-MD5 17ecd222df47b5253f35787097440a5a files/0.9.23/uClibc-0.9.23-etdyn.patch 5832
-MD5 298b7b42f80e1f8ae395df81c47eb213 files/0.9.23/uClibc-0.9.23-flipturn.patch 1821
-MD5 4216cdf86d54f45fa04cb44a5425b3ff files/0.9.23/uClibc-0.9.23-pax.patch 3607
-MD5 7eea15a7a3e8d8a2a222b815e57dc221 files/cvs/13_all_uClibc-enable-ssp.patch 331
-MD5 9cb04f6f038b903868f99d90f81e7e61 files/cvs/21_all_uClibc-ld-relro.patch 1040
-MD5 df59fcf3a02c17b7dac6999bd9262d05 files/cvs/22_all_uClibc-ld-now.patch 1072
-MD5 46d965d8bdfe981f75fb8696799d9d2a files/0.9.26/ssp.c 3937
-MD5 2416f5e954ccb8b39b1c0d6a3cf5e827 files/0.9.26/uClibc-0.9.26-Makefile.patch 1478
-MD5 bdd1e91ee48fb8be0d28cabdfcfdf3ff files/0.9.26/uClibc-0.9.26-pie-option.patch 863
-MD5 49671ccbdf2c8055efc6cde0003cb6c5 files/0.9.26/arm-fix-missing-syscalls.patch 2264
-MD5 874260fc77637deccf7588cfc1c76674 files/0.9.26/uClibc-20040613-do_rem.patch 391
-MD5 b9df87c681aa3a1ef3033cb195e516df files/0.9.26/uclibc-0.9.26-arm-dl-sysdep.patch 795
-MD5 d35beaf332590fed8c619483d4598dc6 files/0.9.26/uclibc-0.9.26-ssp-gcc34-after-frandom.patch 542
-MD5 f7c264d37687f1a32f1c6e31239f2276 files/0.9.26/uclibc-0.9.26-noexecstack.patch 15273
-MD5 6835449424e7a8a38e9c85ecf1b73577 files/0.9.26/arm-ucontext.patch 303
-MD5 efd96414f3be520f07eabd1c02be1ecb files/0.9.26/uclibc-0.9.26-resolve-segfault.patch 1227
-MD5 7157f784ba7672c9904d289712131a52 files/0.9.26/uclibc-0.9.26-ldso-cache.patch 410
-MD5 7ff9f1e05cdfbbe0e156ea81bf8b55ee files/0.9.26/uClibc-20040921-ldso-unsecvars.patch 1024
-MD5 a503ef49001f5f67d61cd40b0809fb76 files/0.9.26/unsecvars.h 682
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.9.14 (GNU/Linux)
-
-iD8DBQFB43AqroRuSHgZdywRAkz9AJ97qifC1HRxNe2/sx7W47TTP1ViMwCfTmlR
-PzPgsUYl+C5wwvRlsF7Hiro=
-=S87t
------END PGP SIGNATURE-----
+++ /dev/null
-diff -Nru uClibc-0.9.23/libc/misc/internals/Makefile uClibc-0.9.23-etdyn/libc/misc/internals/Makefile
---- uClibc-0.9.23/libc/misc/internals/Makefile 2003-10-18 06:18:58.000000000 -0400
-+++ uClibc-0.9.23-etdyn/libc/misc/internals/Makefile 2003-11-21 00:51:26.000000000 -0500
-@@ -47,6 +47,7 @@
- interp.o: interp.c
- $(CC) $(CFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-+ $(INSTALL) $@ $(TOPDIR)lib/
-
- $(COBJS): %.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-diff -Nru uClibc-0.9.23/libc/sysdeps/linux/i386/Makefile uClibc-0.9.23-etdyn/libc/sysdeps/linux/i386/Makefile
---- uClibc-0.9.23/libc/sysdeps/linux/i386/Makefile 2003-11-08 16:21:19.000000000 -0500
-+++ uClibc-0.9.23-etdyn/libc/sysdeps/linux/i386/Makefile 2003-11-21 00:51:26.000000000 -0500
-@@ -25,6 +25,9 @@
- CRT0_DEPS=gmon-start.S
- CTOR_TARGETS=$(TOPDIR)lib/crti.o $(TOPDIR)lib/crtn.o
-
-+CRT0S_SRC = crt0S.S
-+CRT0S_OBJ = crt0S.o crt1S.o
-+
- SSRC=__longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S \
- bsd-_setjmp.S syscall.S mmap64.S
- ifeq ($(strip $(UCLIBC_PROFILING)),y)
-@@ -49,14 +52,23 @@
-
- $(LIBC): ar-target
-
--ar-target: $(OBJS) $(CRT0_OBJ) $(CTOR_TARGETS)
-+ar-target: $(OBJS) $(CRT0_OBJ) $(CTOR_TARGETS) $(CRT0S_OBJ)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
- cp $(CRT0_OBJ) $(TOPDIR)lib/
-+ifneq ($(strip $(UCLIBC_CTOR_DTOR)),y)
-+ cp crt0S.o $(TOPDIR)lib/crt1S.o
-+else
-+ cp crt1S.o $(TOPDIR)lib/
-+endif
-
- $(CRT0_OBJ): $(CRT0_SRC)
- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
-+$(CRT0S_OBJ): $(CRT0S_SRC)
-+ $(CC) $(CFLAGS) -fPIC -DL_$* $< -c -o $*.o
-+ $(STRIPTOOL) -x -R .note -R .comment $*.o
-+
- $(SOBJS): %.o : %.S
- $(CC) $(CFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-diff -Nru uClibc-0.9.23/libc/sysdeps/linux/i386/crt0S.S uClibc-0.9.23-etdyn/libc/sysdeps/linux/i386/crt0S.S
---- uClibc-0.9.23/libc/sysdeps/linux/i386/crt0S.S 1969-12-31 19:00:00.000000000 -0500
-+++ uClibc-0.9.23-etdyn/libc/sysdeps/linux/i386/crt0S.S 2003-11-21 00:53:58.000000000 -0500
-@@ -0,0 +1,113 @@
-+/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
-+This file is part of the GNU C Library.
-+
-+The GNU C Library is free software; you can redistribute it and/or
-+modify it under the terms of the GNU Library General Public License as
-+published by the Free Software Foundation; either version 2 of the
-+License, or (at your option) any later version.
-+
-+The GNU C Library is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+Library General Public License for more details.
-+
-+You should have received a copy of the GNU Library General Public
-+License along with the GNU C Library; see the file COPYING.LIB. If
-+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-+Cambridge, MA 02139, USA. */
-+
-+
-+/* Based on the code from GNU libc, but hacked up by John Beppu and Erik Andersen */
-+/* crt0S.S adapted by the Pax Team, solar@gentoo,org, Peter S. Mazinger
-+ * for ET_DYN executable shared objects binaries
-+ */
-+
-+/*
-+ When we enter this piece of code, the program stack looks like this:
-+ argc argument counter (integer)
-+ argv[0] program name (pointer)
-+ argv[1...N] program args (pointers)
-+ argv[argc-1] end of args (integer)
-+ NULL
-+ env[0...N] environment variables (pointers)
-+ NULL
-+*/
-+
-+#include <features.h>
-+
-+.text
-+ .align 4
-+
-+ .global _start
-+ .type _start,%function
-+#if defined L_crt0S || ! defined __UCLIBC_CTOR_DTOR__
-+ .type __uClibc_main,%function
-+#else
-+ .weak _init
-+ .weak _fini
-+ .type __uClibc_start_main,%function
-+#endif
-+/* Stick in a dummy reference to main(), so that if an application
-+ * is linking when the main() function is in a static library (.a)
-+ * we can be sure that main() actually gets linked in */
-+ .type main,%function
-+
-+_start:
-+ /* locate the start of the environment variables */
-+ popl %ecx /* Store argc into %ecx */
-+ movl %esp,%ebx /* Store argv into ebx */
-+ movl %esp,%eax /* Store argv into eax as well*/
-+ movl %ecx,%edx /* Stick argc into %edx so we can do some math in a sec */
-+ leal 4(%eax,%edx,4),%eax
-+
-+ /* [ register layout ]
-+
-+ sizeof(char*) == 4
-+ %ecx = argc ; 0(esp)
-+ %ebx = argv ; 4(esp)
-+ %eax = env ; argv + (argc * 4) + 4
-+ */
-+
-+ /* Set up an invalid (NULL return address, NULL frame pointer)
-+ callers stack frame so anybody unrolling the stack knows where
-+ to stop */
-+ xorl %ebp,%ebp /* NULL */
-+ pushl %ebp /* callers %cs */
-+ pushl %ebp /* callers %eip (return address) */
-+ pushl %ebp /* callers %ebp (frame pointer) */
-+ movl %esp,%ebp /* mark callers stack frame as invalid */
-+
-+ call .L0
-+.L0:
-+ pop %edx
-+ addl $_GLOBAL_OFFSET_TABLE_+[.-.L0],%edx
-+
-+#if (defined L_crt1S || defined L_gcrt1 ) && defined __UCLIBC_CTOR_DTOR__
-+ /* Push .init and .fini arguments to __uClibc_start_main() on the stack */
-+ pushl _fini@GOT(%edx)
-+ pushl _init@GOT(%edx)
-+
-+ /* Push envp, argc, and argc arguments to __uClibc_start_main() on the stack */
-+ pushl %eax /* Environment pointer */
-+ pushl %ebx /* Argument pointer */
-+ pushl %ecx /* And the argument count */
-+
-+ /* Ok, now run uClibc's main() -- shouldn't return */
-+ call *__uClibc_start_main@GOT(%edx)
-+#else
-+ /* Push envp, argc, and argc arguments to __uClibc_main() on the stack */
-+ pushl %eax /* Environment pointer */
-+ pushl %ebx /* Argument pointer */
-+ pushl %ecx /* And the argument count */
-+
-+ call *__uClibc_main@GOT(%edx)
-+#endif
-+
-+ /* Crash if somehow `exit' returns anyways. */
-+ hlt
-+.size _start,.-_start
-+
-+/* We disable profiling in crt0S.S, because it introduces text relocations. */
-+#if 0 && defined L_gcrt1 && defined __UCLIBC_PROFILING__
-+# include "./gmon-start.S"
-+#endif
+++ /dev/null
-diff -Nru uClibc-0.9.23/libc/misc/gnu/obstack.c uClibc-0.9.23-flipturn/libc/misc/gnu/obstack.c
---- uClibc-0.9.23/libc/misc/gnu/obstack.c 2003-09-03 03:23:15.000000000 -0400
-+++ uClibc-0.9.23-flipturn/libc/misc/gnu/obstack.c 2003-11-17 07:24:33.000000000 -0500
-@@ -466,6 +466,7 @@
- /* # if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC */
- # ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
- # include <libintl.h>
-+# include <locale.h>
- # ifndef _
- # define _(Str) __dcgettext (NULL, Str, LC_MESSAGES)
- # endif
-diff -Nru uClibc-0.9.23/libc/misc/wchar/Makefile uClibc-0.9.23-flipturn/libc/misc/wchar/Makefile
---- uClibc-0.9.23/libc/misc/wchar/Makefile 2003-11-08 03:06:04.000000000 -0500
-+++ uClibc-0.9.23-flipturn/libc/misc/wchar/Makefile 2003-11-17 07:24:39.000000000 -0500
-@@ -29,9 +29,9 @@
- wcsrtombs.o _wchar_utf8sntowcs.o _wchar_wcsntoutf8s.o \
- __mbsnrtowcs.o __wcsnrtombs.o wcwidth.o wcswidth.o
-
--#ifeq ($(UCLIBC_HAS_LOCALE),y)
--# MOBJ1 += iconv.o
--#endif
-+ifeq ($(UCLIBC_HAS_LOCALE),y)
-+ MOBJ1 += iconv.o
-+endif
-
- MSRC2= wstdio.c
- MOBJ2= fwide.o \
-@@ -67,3 +67,6 @@
- clean:
- $(RM) *.[oa] *~ core #iconv.target
-
-+
-+.PHONY: print-%
-+print-%: ; @ echo $* = $($*)
-diff -Nru uClibc-0.9.23/utils/ldconfig.c uClibc-0.9.23-flipturn/utils/ldconfig.c
---- uClibc-0.9.23/utils/ldconfig.c 2003-11-06 17:38:46.000000000 -0500
-+++ uClibc-0.9.23-flipturn/utils/ldconfig.c 2003-11-17 07:24:33.000000000 -0500
-@@ -189,8 +189,7 @@
- char buff[4096];
-
- /* see if name is of the form libZ.so* */
-- if ((strncmp(name, "lib", 3) == 0 || strncmp(name, "ld-", 3) == 0) && \
-- name[strlen(name)-1] != '~' && (cp = strstr(name, ".so")))
-+ if (name[strlen(name)-1] != '~' && (cp = strstr(name, ".so")))
- {
- /* find the start of the Vminor part, if any */
- if (cp[3] == '.' && (cp2 = strchr(cp + 4, '.')))
+++ /dev/null
-diff -Nurp -x sysdeps -x internals -x '*.a' -x '*swp' -x '*.so*' -x '*.o' -x '*progname*' -x include -x '*config*' uClibc-0.9.23/ldso/ldso/ldso.c uClibc-0.9.23-pax/ldso/ldso/ldso.c
---- uClibc-0.9.23/ldso/ldso/ldso.c 2003-10-04 19:31:22.000000000 +0200
-+++ uClibc-0.9.23-pax/ldso/ldso/ldso.c 2003-11-14 17:32:00.000000000 +0100
-@@ -371,6 +371,26 @@ LD_BOOT(unsigned long args)
- app_tpnt = LD_MALLOC(sizeof(struct elf_resolve));
- _dl_memset(app_tpnt, 0, sizeof(struct elf_resolve));
-
-+ /* Find the runtime load address of the main executable, this may be
-+ * different from what the ELF header says for ET_DYN/PIE executables.
-+ */
-+ {
-+ ElfW(Phdr) *ppnt;
-+ int i;
-+
-+ ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
-+ for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++)
-+ if (ppnt->p_type == PT_PHDR) {
-+ app_tpnt->loadaddr = (ElfW(Addr)) (auxvt[AT_PHDR].a_un.a_val - ppnt->p_vaddr);
-+ break;
-+ }
-+ }
-+
-+#ifdef __SUPPORT_LD_DEBUG_EARLY__
-+ SEND_STDERR("app_tpnt->loadaddr=");
-+ SEND_ADDRESS_STDERR(app_tpnt->loadaddr, 1);
-+#endif
-+
- /*
- * This is used by gdb to locate the chain of shared libraries that are currently loaded.
- */
-@@ -407,7 +427,7 @@ LD_BOOT(unsigned long args)
- ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
- for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++)
- if (ppnt->p_type == PT_DYNAMIC) {
-- dpnt = (Elf32_Dyn *) ppnt->p_vaddr;
-+ dpnt = (Elf32_Dyn *) (ppnt->p_vaddr + app_tpnt->loadaddr);
- while (dpnt->d_tag) {
- #if defined(__mips__)
- if (dpnt->d_tag == DT_MIPS_GOTSYM)
-@@ -501,8 +521,8 @@ LD_BOOT(unsigned long args)
- ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
- for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++) {
- if (ppnt->p_type == PT_LOAD && !(ppnt->p_flags & PF_W))
-- _dl_mprotect((void *) (ppnt->p_vaddr & PAGE_ALIGN),
-- (ppnt->p_vaddr & ADDR_ALIGN) +
-+ _dl_mprotect((void *) ((ppnt->p_vaddr + app_tpnt->loadaddr) & PAGE_ALIGN),
-+ ((ppnt->p_vaddr + app_tpnt->loadaddr) & ADDR_ALIGN) +
- (unsigned long) ppnt->p_filesz,
- PROT_READ | PROT_WRITE | PROT_EXEC);
- }
-@@ -715,8 +735,8 @@ static void _dl_get_ready_to_run(struct
- ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
- for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++) {
- if (ppnt->p_type == PT_LOAD) {
-- if (ppnt->p_vaddr + ppnt->p_memsz > brk_addr)
-- brk_addr = ppnt->p_vaddr + ppnt->p_memsz;
-+ if (ppnt->p_vaddr + app_tpnt->loadaddr + ppnt->p_memsz > brk_addr)
-+ brk_addr = ppnt->p_vaddr + app_tpnt->loadaddr + ppnt->p_memsz;
- }
- if (ppnt->p_type == PT_DYNAMIC) {
- #ifndef ALLOW_ZERO_PLTGOT
-@@ -725,8 +745,8 @@ static void _dl_get_ready_to_run(struct
- continue;
- #endif
- /* OK, we have what we need - slip this one into the list. */
-- app_tpnt = _dl_add_elf_hash_table("", 0,
-- app_tpnt->dynamic_info, ppnt->p_vaddr, ppnt->p_filesz);
-+ app_tpnt = _dl_add_elf_hash_table("", (char *)app_tpnt->loadaddr,
-+ app_tpnt->dynamic_info, ppnt->p_vaddr + app_tpnt->loadaddr, ppnt->p_filesz);
- _dl_loaded_modules->libtype = elf_executable;
- _dl_loaded_modules->ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
- _dl_loaded_modules->n_phent = auxvt[AT_PHNUM].a_un.a_val;
-@@ -735,7 +755,7 @@ static void _dl_get_ready_to_run(struct
- rpnt->dyn = _dl_loaded_modules;
- app_tpnt->usage_count++;
- app_tpnt->symbol_scope = _dl_symbol_tables;
-- lpnt = (unsigned long *) (app_tpnt->dynamic_info[DT_PLTGOT]);
-+ lpnt = (unsigned long *) (app_tpnt->dynamic_info[DT_PLTGOT] + app_tpnt->loadaddr);
- #ifdef ALLOW_ZERO_PLTGOT
- if (lpnt)
- #endif
+++ /dev/null
-diff -ur uClibc-0.9.26/libc/sysdeps/linux/arm/ioperm.c uClibc-0.9.26.fix/libc/sysdeps/linux/arm/ioperm.c
---- uClibc-0.9.26/libc/sysdeps/linux/arm/ioperm.c 2002-11-03 18:18:09.000000000 -0500
-+++ uClibc-0.9.26.fix/libc/sysdeps/linux/arm/ioperm.c 2004-05-25 22:18:30.001343000 -0400
-@@ -47,6 +47,8 @@
- #include <asm/page.h>
- #include <sys/sysctl.h>
-
-+#include <linux/version.h>
-+
- #define PATH_ARM_SYSTYPE "/etc/arm_systype"
- #define PATH_CPUINFO "/proc/cpuinfo"
-
-@@ -100,8 +102,13 @@
- {
- char systype[256];
- int i, n;
-+#if LINUX_VERSION_CODE < 132119
- static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE };
- static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT };
-+#else
-+ static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE };
-+ static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT };
-+#endif
- size_t len = sizeof(io.base);
-
- if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
-diff -ur uClibc-0.9.26/libc/sysdeps/linux/common/create_module.c uClibc-0.9.26.fix/libc/sysdeps/linux/common/create_module.c
---- uClibc-0.9.26/libc/sysdeps/linux/common/create_module.c 2003-08-27 09:17:07.000000000 -0400
-+++ uClibc-0.9.26.fix/libc/sysdeps/linux/common/create_module.c 2004-05-25 21:49:03.000000000 -0400
-@@ -26,6 +26,7 @@
- #include <sys/types.h>
- #include <sys/syscall.h>
-
-+#ifdef __NR_create_module
-
- //#define __NR_create_module 127
-
-@@ -65,3 +66,11 @@
- #endif
-
-
-+
-+#else
-+unsigned long create_module(const char *name, size_t size)
-+{
-+ __set_errno(ENOSYS);
-+ return (unsigned long)-1;
-+}
-+#endif
-diff -ur uClibc-0.9.26/libc/sysdeps/linux/common/syscalls.c uClibc-0.9.26.fix/libc/sysdeps/linux/common/syscalls.c
---- uClibc-0.9.26/libc/sysdeps/linux/common/syscalls.c 2004-01-02 03:47:22.000000000 -0500
-+++ uClibc-0.9.26.fix/libc/sysdeps/linux/common/syscalls.c 2004-05-25 22:28:28.351343000 -0400
-@@ -1413,8 +1413,16 @@
-
- //#define __NR_get_kernel_syms 130
- #ifdef L_get_kernel_syms
-+#ifdef __NR_get_kernel_syms
- struct kernel_sym;
- _syscall1(int, get_kernel_syms, struct kernel_sym *, table);
-+#else
-+int get_kernel_syms(struct kernel_sym *table)
-+{
-+ __set_errno(ENOSYS);
-+ return (unsigned long)-1;
-+}
-+#endif
- #endif
-
- //#define __NR_quotactl 131
+++ /dev/null
---- libc/sysdeps/linux/arm/sys/ucontext.h.orig 2004-08-06 12:08:48.234295048 -0400
-+++ libc/sysdeps/linux/arm/sys/ucontext.h 2004-08-06 12:09:11.123815312 -0400
-@@ -24,6 +24,7 @@
- #include <features.h>
- #include <signal.h>
- #include <sys/procfs.h>
-+#include <bits/sigcontext.h>
-
- typedef int greg_t;
-
+++ /dev/null
-/*
- * Distributed under the terms of the GNU General Public License v2
- * $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/files/0.9.26/ssp.c,v 1.4 2004/10/13 14:40:10 solar Exp $
- *
- * This is a modified version of Hiroaki Etoh's stack smashing routines
- * implemented for glibc.
- *
- * The following people have contributed input to this code.
- * Ned Ludd - <solar[@]gentoo.org>
- * Alexander Gabert - <pappy[@]gentoo.org>
- * The PaX Team - <pageexec[@]freemail.hu>
- * Peter S. Mazinger - <ps.m[@]gmx.net>
- * Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
- * Robert Connolly - <robert[@]linuxfromscratch.org>
- * Cory Visi <cory@visi.name>
- *
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <sys/syslog.h>
-#include <sys/time.h>
-#include <sys/sysctl.h>
-
-#ifndef _PATH_LOG
-#define _PATH_LOG "/dev/log"
-#endif
-
-#ifdef __PROPOLICE_BLOCK_SEGV__
-#define SSP_SIGTYPE SIGSEGV
-#elif __PROPOLICE_BLOCK_KILL__
-#define SSP_SIGTYPE SIGKILL
-#else
-#define SSP_SIGTYPE SIGABRT
-#endif
-
-unsigned long __guard = 0UL;
-
-void
-__guard_setup (void)
-{
- size_t size;
-#ifdef HAVE_DEV_ERANDOM
- int mib[3];
-#endif
-
- if (__guard != 0UL)
- return;
-
-#ifndef __SSP_QUICK_CANARY__
-#ifdef HAVE_DEV_ERANDOM
- /* Random is another depth in Linux, hence an array of 3. */
- mib[0] = CTL_KERN;
- mib[1] = KERN_RANDOM;
- mib[2] = RANDOM_ERANDOM;
-
- size = sizeof (unsigned long);
- if (__sysctl (mib, 3, &__guard, &size, NULL, 0) != (-1))
- if (__guard != 0UL)
- return;
-#endif
- /*
- * Attempt to open kernel pseudo random device if one exists before
- * opening urandom to avoid system entropy depletion.
- */
- {
- int fd;
-#ifdef HAVE_DEV_ERANDOM
- if ((fd = open ("/dev/erandom", O_RDONLY)) == (-1))
-#endif
- fd = open ("/dev/urandom", O_RDONLY);
- if (fd != (-1))
- {
- size = read (fd, (char *) &__guard, sizeof (__guard));
- close (fd);
- if (size == sizeof (__guard))
- return;
- }
- }
-#endif
-
- /* If sysctl was unsuccessful, use the "terminator canary". */
- __guard = 0xFF0A0D00UL;
-
- {
- /* Everything failed? Or we are using a weakened model of the
- * terminator canary */
- struct timeval tv;
-
- gettimeofday (&tv, NULL);
- __guard ^= tv.tv_usec ^ tv.tv_sec;
- }
-}
-
-void
-__stack_smash_handler (char func[], int damaged)
-{
- struct sockaddr_un sock; /* AF_UNIX address of local logger */
- struct sigaction sa;
- const char message[] = ": stack smashing attack in function ";
- int bufsz, len, log;
- char buf[512];
- extern char *__progname;
-
- sigset_t mask;
- sigfillset (&mask);
-
- sigdelset (&mask, SSP_SIGTYPE); /* Block all signal handlers */
- sigprocmask (SIG_BLOCK, &mask, NULL); /* except SIGABRT */
-
- bufsz = sizeof (buf);
- strcpy (buf, "<2>");
- len = 3;
-
- strncat (buf, __progname, sizeof (buf) - 4);
- len = strlen (buf);
-
- if (bufsz > len)
- {
- strncat (buf, message, bufsz - len - 1);
- len = strlen (buf);
- }
- if (bufsz > len)
- {
- strncat (buf, func, bufsz - len - 1);
- len = strlen (buf);
- }
-
- /* print error message */
- write (STDERR_FILENO, buf + 3, len - 3);
- write (STDERR_FILENO, "()\n", 3);
- if ((log = socket (AF_UNIX, SOCK_DGRAM, 0)) != -1)
- {
- /* Send "found" message to the "/dev/log" path */
- sock.sun_family = AF_UNIX;
- (void) strncpy (sock.sun_path, _PATH_LOG, sizeof (sock.sun_path) - 1);
- sock.sun_path[sizeof (sock.sun_path) - 1] = '\0';
- sendto (log, buf, len, 0, (struct sockaddr *) &sock, sizeof (sock));
- }
-
- /* Make sure the default handler is associated with the our signal handler */
-
- memset (&sa, 0, sizeof (struct sigaction));
- sigfillset (&sa.sa_mask); /* Block all signals */
- sa.sa_flags = 0;
- sa.sa_handler = SIG_DFL;
- sigaction (SSP_SIGTYPE, &sa, NULL);
- (void) kill (getpid (), SSP_SIGTYPE);
- _exit (127);
-}
+++ /dev/null
---- extra/scripts/fix_includes.sh.mps 2004-01-05 11:14:05.000000000 +0100
-+++ extra/scripts/fix_includes.sh 2004-01-05 12:25:11.000000000 +0100
-@@ -59,10 +59,10 @@
- esac;
- done;
-
--if [ ! -f "$KERNEL_SOURCE/Makefile" ]; then
-+if [ ! -f "$KERNEL_SOURCE/Makefile" -a ! -f "$KERNEL_SOURCE/include/linux/version.h" ]; then
- echo "";
- echo "";
-- echo "The file $KERNEL_SOURCE/Makefile is missing!";
-+ echo "The file $KERNEL_SOURCE/Makefile or $KERNEL_SOURCE/include/linux/version.h is missing!";
- echo "Perhaps your kernel source is broken?"
- echo "";
- echo "";
-@@ -78,8 +78,21 @@
- exit 1;
- fi;
-
--# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTERVERSION
-+if [ -f "$KERNEL_SOURCE/Makefile" ] ; then
-+# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION
- eval `sed -n -e 's/^\([A-Z]*\) = \([0-9]*\)$/\1=\2/p' -e 's/^\([A-Z]*\) = \(-[-a-z0-9]*\)$/\1=\2/p' $KERNEL_SOURCE/Makefile`
-+else
-+ver=`grep UTS_RELEASE $KERNEL_SOURCE/include/linux/version.h | cut -d '"' -f 2`
-+VERSION=`echo "$ver" | cut -d '.' -f 1`
-+PATCHLEVEL=`echo "$ver" | cut -d '.' -f 2`
-+if echo "$ver" | grep -q '-' ; then
-+SUBLEVEL=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.//" | cut -d '-' -f 1`
-+EXTRAVERSION=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.${SUBLEVEL}-//"`
-+else
-+SUBLEVEL=`echo "$ver" | cut -d '.' -f 3`
-+#EXTRAVERSION=
-+fi
-+fi
- if [ -z "$VERSION" -o -z "$PATCHLEVEL" -o -z "$SUBLEVEL" ]
- then
- echo "Unable to determine version for kernel headers"
+++ /dev/null
---- extra/Configs/Config.in.mps 2004-01-05 11:07:27.000000000 +0100
-+++ extra/Configs/Config.in 2004-01-05 11:10:58.000000000 +0100
-@@ -180,13 +180,14 @@
- config UCLIBC_PIE_SUPPORT
- bool "Support ET_DYN in shared library loader"
- select FORCE_SHAREABLE_TEXT_SEGMENTS
-+ select UCLIBC_COMPLETELY_PIC
- default n
- help
- If you answer Y here, the uClibc native shared library loader will
- support ET_DYN/PIE executables.
- It requires binutils-2.14.90.0.6 or later and the usage of the
- -pie option.
-- More about ET_DYN/PIE binaries on <http://pageexec.virtualave.net/> .
-+ More about ET_DYN/PIE binaries on <http://pax.grsecurity.net/> .
- WARNING: This option also enables FORCE_SHAREABLE_TEXT_SEGMENTS, so all
- libraries have to be built with -fPIC or -fpic, and all assembler
- functions must be written as position independent code (PIC).
+++ /dev/null
---- a/ldso/include/dl-string.h 12 Jun 2004 08:38:38 -0000 1.5
-+++ b/ldso/include/dl-string.h 19 Jun 2004 01:55:06 -0000
-@@ -1,6 +1,8 @@
- #ifndef _LINUX_STRING_H_
- #define _LINUX_STRING_H_
-
-+#include <dl-sysdep.h> // for do_rem
-+
- static size_t _dl_strlen(const char * str);
- static char *_dl_strcat(char *dst, const char *src);
- static char * _dl_strcpy(char * dst,const char *src);
-
+++ /dev/null
---- ldso/ldso/ldso.c 8 Sep 2004 09:43:24 -0000 1.121
-+++ ldso/ldso/ldso.c 21 Sep 2004 05:33:40 -0000
-@@ -31,6 +31,7 @@
-
-
- #include "ldso.h"
-+#include "unsecvars.h"
-
- #define ALLOW_ZERO_PLTGOT
-
-@@ -325,11 +326,21 @@ void _dl_get_ready_to_run(struct elf_res
- _dl_preload = _dl_getenv("LD_PRELOAD", envp);
- _dl_library_path = _dl_getenv("LD_LIBRARY_PATH", envp);
- } else {
-+ static const char unsecure_envvars[] =
-+#ifdef EXTRA_UNSECURE_ENVVARS
-+ EXTRA_UNSECURE_ENVVARS
-+#endif
-+ UNSECURE_ENVVARS;
-+ const char *nextp;
- _dl_secure = 1;
-- _dl_preload = _dl_getenv("LD_PRELOAD", envp);
-- _dl_unsetenv("LD_AOUT_PRELOAD", envp);
-- _dl_unsetenv("LD_LIBRARY_PATH", envp);
-- _dl_unsetenv("LD_AOUT_LIBRARY_PATH", envp);
-+
-+ nextp = unsecure_envvars;
-+ do {
-+ _dl_unsetenv (nextp, envp);
-+ /* We could use rawmemchr but this need not be fast. */
-+ nextp = (char *) _dl_strchr(nextp, '\0') + 1;
-+ } while (*nextp != '\0');
-+ _dl_preload = NULL;
- _dl_library_path = NULL;
- }
- }
+++ /dev/null
-Index: ldso/ldso/arm/dl-sysdep.h
-===================================================================
-RCS file: /var/cvs/uClibc/ldso/ldso/arm/dl-sysdep.h,v
-retrieving revision 1.9
-diff -u -b -B -w -p -r1.9 dl-sysdep.h
---- ldso/ldso/arm/dl-sysdep.h 17 Feb 2004 10:55:54 -0000 1.9
-+++ ldso/ldso/arm/dl-sysdep.h 23 Jun 2004 17:57:35 -0000
-@@ -5,6 +5,9 @@
- * Copyright (C) 2000-2004 by Erik Andersen <andersen@codpoet.org>
- */
-
-+#ifndef __DL_SYSDEP_H__
-+#define __DL_SYSDEP_H__
-+
- /* Define this if the system uses RELOCA. */
- #undef ELF_USES_RELOCA
-
-@@ -66,3 +69,5 @@ unsigned long _dl_linux_resolver(struct
- #define elf_machine_type_class(type) \
- ((((type) == R_ARM_JUMP_SLOT) * ELF_RTYPE_CLASS_PLT) \
- | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY))
-+
-+#endif /* __DL_SYSDEP_H__ */
+++ /dev/null
---- ldso/ldso/dl-elf.c.orig 2004-08-09 19:01:02 +0000
-+++ ldso/ldso/dl-elf.c 2004-08-09 19:00:40 +0000
-@@ -329,6 +329,7 @@
- #endif
- for (i = 0; i < header->nlibs; i++) {
- if ((libent[i].flags == LIB_ELF ||
-+ libent[i].flags == LIB_ELF_LIBC0 ||
- libent[i].flags == LIB_ELF_LIBC5) &&
- _dl_strcmp(libname, strs + libent[i].sooffset) == 0 &&
- (tpnt1 = _dl_load_elf_shared_library(secure,
+++ /dev/null
---- uClibc-0.9.26/ldso/ldso/Makefile.mps Mon Jul 5 16:03:07 2004
-+++ uClibc-0.9.26/ldso/ldso/Makefile Mon Jul 5 17:45:53 2004
-@@ -89,7 +89,7 @@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(AOBJS): %.o : %.S
-- $(CC) $(XXFLAGS) -I../libdl -c $< -o $@
-+ $(CC) $(XXFLAGS) $(ASFLAGS) -I../libdl -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- ldso.o: $(CSRC)
---- uClibc-0.9.26/libc/string/arm/Makefile.mps Mon Jul 5 16:59:30 2004
-+++ uClibc-0.9.26/libc/string/arm/Makefile Mon Jul 5 17:50:33 2004
-@@ -18,6 +18,7 @@
-
- TOPDIR=../../../
- include $(TOPDIR)Rules.mak
-+ASFLAGS+=$(CFLAGS)
-
- SSRC= _memcpy.S bcopy.S bzero.S memcmp.S memcpy.S memmove.S memset.S \
- strcmp.S strlen.S strncmp.S
-@@ -31,7 +32,7 @@
- $(AR) $(ARFLAGS) $(LIBC) $(SOBJS)
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- clean:
---- uClibc-0.9.26/libc/string/sh64/Makefile.mps Mon Jul 5 17:00:39 2004
-+++ uClibc-0.9.26/libc/string/sh64/Makefile Mon Jul 5 17:49:59 2004
-@@ -18,6 +18,7 @@
-
- TOPDIR=../../../
- include $(TOPDIR)Rules.mak
-+ASFLAGS+=$(CFLAGS)
-
- SSRC= memcpy.S memset.S strcpy.S strlen.S
- SOBJS=$(patsubst %.S,%.o, $(SSRC))
-@@ -30,7 +31,7 @@
- $(AR) $(ARFLAGS) $(LIBC) $(SOBJS)
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- clean:
---- uClibc-0.9.26/libc/string/frv/Makefile.mps Mon Jul 5 17:01:19 2004
-+++ uClibc-0.9.26/libc/string/frv/Makefile Mon Jul 5 17:49:41 2004
-@@ -18,6 +18,7 @@
-
- TOPDIR=../../../
- include $(TOPDIR)Rules.mak
-+ASFLAGS+=$(CFLAGS)
-
- SSRC=memcpy.S memset.S
- SOBJS=$(patsubst %.S,%.o, $(SSRC))
-@@ -31,7 +32,7 @@
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- clean:
---- uClibc-0.9.26/libc/sysdeps/linux/alpha/Makefile.mps Mon Jul 5 17:07:38 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/alpha/Makefile Mon Jul 5 17:40:06 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- CRT0_SRC = crt0.S
- CRT0_OBJ = crt0.o crt1.o
-@@ -42,11 +42,11 @@
- cp $(CRT0_OBJ) $(TOPDIR)lib/
-
- $(CRT0_OBJ): $(CRT0_SRC)
-- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-+ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -55,14 +55,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/arm/Makefile.mps Mon Jul 5 17:13:52 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/arm/Makefile Mon Jul 5 17:43:31 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- CRT0_SRC = crt0.S
- CRT0_OBJ = crt0.o crt1.o gcrt1.o
-@@ -43,11 +43,11 @@
- cp $(CRT0_OBJ) $(TOPDIR)lib/
-
- $(CRT0_OBJ): $(CRT0_SRC)
-- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-+ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -62,14 +62,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/cris/Makefile.mps Mon Jul 5 17:15:14 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/cris/Makefile Mon Jul 5 17:40:30 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- CRT0_SRC = crt0.c
- CRT0_OBJ = crt0.o crt1.o
-@@ -48,7 +48,7 @@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -57,14 +57,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/e1/Makefile.mps Mon Jul 5 17:21:30 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/e1/Makefile Mon Jul 5 17:40:42 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- #FIXME -- this arch should include its own crti.S and crtn.S
- UCLIBC_CTOR_DTOR=n
-@@ -47,11 +47,11 @@
- cp $(CRT0_OBJ) $(TOPDIR)lib/$(CRT0_OBJ)
-
- $(CRT0_OBJ): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -60,14 +60,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/h8300/Makefile.mps Mon Jul 5 17:27:53 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/h8300/Makefile Mon Jul 5 17:41:17 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- #FIXME -- this arch should include its own crti.S and crtn.S
- UCLIBC_CTOR_DTOR=n
-@@ -44,11 +44,11 @@
- cp $(CRT0_OBJ) $(TOPDIR)lib/
-
- $(CRT0_OBJ): $(CRT0_SRC)
-- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-+ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -57,14 +57,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/i386/Makefile.mps Mon Jul 5 17:02:54 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/i386/Makefile Mon Jul 5 17:41:33 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- CRT0_SRC = crt0.S
- CRT0_OBJ = crt0.o crt1.o gcrt1.o
-@@ -56,11 +56,11 @@
- endif
-
- $(CRT0_OBJ): $(CRT0_SRC)
-- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-+ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -75,14 +75,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/i960/Makefile.mps Mon Jul 5 17:30:59 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/i960/Makefile Mon Jul 5 17:41:45 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- #FIXME -- this arch should include its own crti.S and crtn.S
- UCLIBC_CTOR_DTOR=n
-@@ -44,11 +44,11 @@
- cp $(CRT0_OBJ) $(TOPDIR)lib/
-
- $(CRT0_OBJ): $(CRT0_SRC)
-- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-+ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -57,14 +57,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/m68k/Makefile.mps Mon Jul 5 17:32:15 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/m68k/Makefile Mon Jul 5 17:42:03 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- # If you're looking for vfork(), it is defined in include/unistd.h
-
-@@ -48,11 +48,15 @@
- cp $(CRT0_OBJ) $(TOPDIR)lib/
-
- $(CRT0_OBJ): $(CRT0_SRC)
-+ifeq ($(ARCH_HAS_MMU),y)
- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-+else
-+ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
-+endif
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -61,14 +65,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/mips/Makefile.mps Mon Jul 5 17:35:31 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/mips/Makefile Mon Jul 5 17:42:14 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- CRT0_SRC = crt0.S
- CRT0_OBJ = crt0.o crt1.o
-@@ -42,11 +42,11 @@
- cp $(CRT0_OBJ) $(TOPDIR)lib/
-
- $(CRT0_OBJ): $(CRT0_SRC)
-- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-+ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -56,14 +56,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/powerpc/Makefile.mps Mon Jul 5 17:36:24 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/powerpc/Makefile Mon Jul 5 17:42:27 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- CRT0_SRC = crt0.S
- CRT0_OBJ = crt0.o crt1.o gcrt1.o
-@@ -46,11 +46,11 @@
- cp $(CRT0_OBJ) $(TOPDIR)lib/
-
- $(CRT0_OBJ): $(CRT0_SRC)
-- $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-+ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -66,14 +66,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/sparc/Makefile.mps Mon Jul 5 17:37:28 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/sparc/Makefile Mon Jul 5 17:42:42 2004
-@@ -18,7 +18,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS+=$(CFLAGS)
-
- CRT0_SRC = crt0.c
- CRT0_OBJ = crt0.o crt1.o
-@@ -46,7 +46,7 @@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
-@@ -55,14 +55,14 @@
-
- ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- crti.o: crti.S
-- $(CC) $(CFLAGS) -c crti.S -o crti.o
-+ $(CC) $(ASFLAGS) -c crti.S -o crti.o
-
- $(TOPDIR)lib/crti.o: crti.o
- $(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
- crtn.o: crtn.S
-- $(CC) $(CFLAGS) -c crtn.S -o crtn.o
-+ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
-
- $(TOPDIR)lib/crtn.o: crtn.o
- $(INSTALL) -d $(TOPDIR)lib/
---- uClibc-0.9.26/libc/sysdeps/linux/frv/Makefile.mps Mon Jul 5 17:23:45 2004
-+++ uClibc-0.9.26/libc/sysdeps/linux/frv/Makefile Mon Jul 5 17:40:57 2004
-@@ -19,7 +19,7 @@
-
- TOPDIR=../../../../
- include $(TOPDIR)Rules.mak
--ASFLAGS=$(CFLAGS)
-+ASFLAGS=+$(CFLAGS)
-
- CRT0_SRC = crt0.S
- CRT0_OBJ = crt0.o crt1.o # gcrt1.o
-@@ -49,25 +49,25 @@
- cp $(CRT0_OBJ) $(SCRT0_OBJ) $(CTOR_TARGETS) $(TOPDIR)lib/
-
- $(CRT0_OBJ): $(CRT0_SRC) crtreloc.o
-- $(CC) $(CFLAGS) -DL_$* -r -nostdlib $< crtreloc.o -o $*.o
-+ $(CC) $(ASFLAGS) -DL_$* -r -nostdlib $< crtreloc.o -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- crtreloc.o: crtreloc.c
- $(CC) $(CFLAGS) -c $< -o $@
-
- $(SCRT0_OBJ): $(CRT0_SRC) Scrtreloc.o
-- $(CC) $(CFLAGS) -fPIE -DL_$* -r -nostdlib $< Scrtreloc.o -o $*.o
-+ $(CC) $(ASFLAGS) -fPIE -DL_$* -r -nostdlib $< Scrtreloc.o -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- Scrtreloc.o: crtreloc.c
- $(CC) $(CFLAGS) -fPIE -c $< -o $@
-
- $(CTOR_TARGETS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(SOBJS): %.o : %.S
-- $(CC) $(CFLAGS) -c $< -o $@
-+ $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
- $(COBJS): %.o : %.c
---- uClibc-0.9.26/Rules.mak.mps Mon Jul 5 16:50:07 2004
-+++ uClibc-0.9.26/Rules.mak Mon Jul 5 17:39:43 2004
-@@ -79,6 +79,9 @@
- check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \
- then echo "$(1)"; else echo "$(2)"; fi)
-
-+check_as_noexecstack=$(shell if $(LD) --help | grep -q "z noexecstack"; then echo "-Wa,--noexecstack"; fi)
-+ASFLAGS=$(check_as_noexecstack)
-+
- # Make certain these contain a final "/", but no "//"s.
- TARGET_ARCH:=$(strip $(subst ",, $(strip $(TARGET_ARCH))))
- RUNTIME_PREFIX:=$(strip $(subst //,/, $(subst ,/, $(subst ",, $(strip $(RUNTIME_PREFIX))))))
+++ /dev/null
---- libc/inet/resolv.c.orig 2004-08-09 14:04:58 +0000
-+++ libc/inet/resolv.c 2004-08-09 14:07:09 +0000
-@@ -1846,6 +1846,7 @@
- {
- struct in_addr *in;
- struct in_addr **addr_list;
-+ char **alias;
- unsigned char *packet;
- struct resolv_answer a;
- int i;
-@@ -1899,17 +1900,27 @@
-
- addr_list[0] = in;
- addr_list[1] = 0;
--
-+
-+ if (buflen < sizeof(char *)*(ALIAS_DIM))
-+ return ERANGE;
-+ alias=(char **)buf;
-+ buf+=sizeof(char **)*(ALIAS_DIM);
-+ buflen-=sizeof(char **)*(ALIAS_DIM);
-+
- if (buflen<256)
- return ERANGE;
- strncpy(buf, name, buflen);
-
-+ alias[0] = buf;
-+ alias[1] = NULL;
-+
- /* First check if this is already an address */
- if (inet_aton(name, in)) {
- result_buf->h_name = buf;
- result_buf->h_addrtype = AF_INET;
- result_buf->h_length = sizeof(*in);
- result_buf->h_addr_list = (char **) addr_list;
-+ result_buf->h_aliases = alias;
- *result=result_buf;
- *h_errnop = NETDB_SUCCESS;
- return NETDB_SUCCESS;
-@@ -1954,6 +1965,7 @@
- result_buf->h_addrtype = AF_INET;
- result_buf->h_length = sizeof(*in);
- result_buf->h_addr_list = (char **) addr_list;
-+ result_buf->h_aliases = alias; /* TODO: generate the full list */
- free(packet);
- break;
- } else {
+++ /dev/null
---- ./libc/sysdeps/linux/common/ssp.c.old 2004-05-17 06:46:31.000000000 -0400
-+++ ./libc/sysdeps/linux/common/ssp.c 2004-05-17 07:46:42.264773000 -0400
-@@ -44,9 +44,15 @@
- #define SSP_SIGTYPE SIGABRT
- #endif
-
-+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
-+#define __attribute_used__ __attribute__((__used__))
-+#else
-+#define __attribute_used__ __attribute__((__unused__))
-+#endif
-+
- unsigned long __guard = 0UL;
-
--void
-+__attribute_used__ void __attribute__ ((visibility ("default")))
- __guard_setup (void)
- {
- size_t size;
+++ /dev/null
-/*
- * Environment variable to be removed for SUID programs. The names are all
- * stuffed in a single string which means they have to be terminated with a
- * '\0' explicitly.
- */
-
-#define UNSECURE_ENVVARS \
- "LD_AOUT_PRELOAD\0" \
- "LD_AOUT_LIBRARY_PATH\0" \
- "LD_PRELOAD\0" \
- "LD_LIBRARY_PATH\0" \
- "LD_DEBUG\0" \
- "LD_DEBUG_OUTPUT\0" \
- "HOSTALIASES\0" \
- "LOCALDOMAIN\0" \
- "RES_OPTIONS\0" \
- "TMPDIR\0"
-
-/*
- * These environment variables are defined by glibc but ignored in
- * uClibc, but may very well have an equivalent in uClibc.
- *
- * MALLOC_TRACE, RESOLV_HOST_CONF, TZDIR, GCONV_PATH, LD_USE_LOAD_BIAS,
- * LD_PROFILE, LD_ORIGIN_PATH, LOCPATH, NLSPATH
- */
-
+++ /dev/null
---- Makefile.orig 2002-12-30 11:34:18.000000000 -0500
-+++ Makefile 2002-12-30 11:31:52.000000000 -0500
-@@ -192,8 +192,7 @@
- install -d $(PREFIX)$(DEVEL_PREFIX)/bin
- install -m 644 lib/lib*-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \
- $(PREFIX)$(DEVEL_PREFIX)/lib
-- cp -a lib/*.so.* $(PREFIX)$(DEVEL_PREFIX)/lib
-- @if [ -x lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so ] ; then \
-+ if [ -x lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so ] ; then \
- set -x -e; \
- install -m 755 lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \
- $(PREFIX)$(DEVEL_PREFIX)/lib; \
-@@ -201,6 +200,7 @@
- ln -s $(DEVEL_PREFIX)/lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \
- $(PREFIX)$(SHARED_LIB_LOADER_PATH)/$(UCLIBC_LDSO) || true; \
- fi;
-+ cp -a lib/*.so.* $(PREFIX)$(DEVEL_PREFIX)/lib
- endif
-
- install_toolchain:
+++ /dev/null
-MD5 d4ecdc8350b7c481e06cff830883b8ec uClibc-0.9.21.tar.bz2 1563348
+++ /dev/null
-MD5 7212713c432dd0de6ec2140c2a6212e4 uClibc-0.9.26.tar.bz2 1604543
-MD5 1c082d43f02e7fa199fe724469111d88 uClibc-0.9.26-cvs-update-20040808.patch.bz2 345344
-MD5 b7820c6b79f02d2d07a7ac75abfe90a5 uClibc-0.9.26-patches-1.1.tar.bz2 7162
+++ /dev/null
-MD5 7212713c432dd0de6ec2140c2a6212e4 uClibc-0.9.26.tar.bz2 1604543
-MD5 1c082d43f02e7fa199fe724469111d88 uClibc-0.9.26-cvs-update-20040808.patch.bz2 345344
-MD5 b7820c6b79f02d2d07a7ac75abfe90a5 uClibc-0.9.26-patches-1.1.tar.bz2 7162
+++ /dev/null
-MD5 7212713c432dd0de6ec2140c2a6212e4 uClibc-0.9.26.tar.bz2 1604543
-MD5 27f9c3067674f1f479a4ea6491c7e63b uClibc-0.9.26-cvs-update-20041209.patch.bz2 403987
-MD5 87c26182b2254e65682408444adb9e90 uClibc-0.9.26-patches-1.4.tar.bz2 35502
+++ /dev/null
-#!/bin/sh
-
-search_entry() {
- if [ -e "$1" ] ; then
- /bin/egrep -v "^#" $1 | /bin/sed 's/#.*$//' | /bin/egrep "${string}" | /bin/sed -n 1p
- retval=$?
- [ "$retval" = 0 ] || retval=2
- else
- retval=2
- fi
-}
-
-file="/etc/$1"
-string="dummy"
-
-#aliases|ethers|group|hosts|netgroup|networks|passwd|protocols|rpc|services|shadow)
-# dns based search is not supported for hosts|networks
-# networks searches ^string
-# protocols|rpc|services searches string anywhere
-# ethers|netgroup ?
-# it returns only the first match
-case $1 in
- group|passwd|shadow)
- string="^\<$2\>:"
- ;;
- aliases)
- if [ -f /etc/postfix/aliases ] ; then
- file="/etc/postfix/aliases"
- elif [ -f /etc/mail/aliases ] ; then
- file="/etc/mail/aliases"
- fi
- string="^\<$2\>:"
- ;;
- networks)
- string="^\<$2\>"
- ;;
- hosts|protocol|rpc|services)
- string="\<$2\>"
- ;;
- *)
- echo "Unknown database: $1"
- exit 1
- ;;
-esac
-
-search_entry $file $2
-
-exit $retval
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>embedded</herd>
- <maintainer>
- <email>vapier@gentoo.org</email>
- <description>Primary Maintainer</description>
- </maintainer>
- <maintainer>
- <email>solar@gentoo.org</email>
- <description>Secondary Maintainer</description>
- </maintainer>
- <longdescription>
-uClibc pronounced yew-see-lib-see is a C library for developing embedded Linux
-systems. It is much smaller than the GNU C Library, but nearly all applications supported
-by glibc also work perfectly with uClibc. Porting applications from glibc to uClibc
-typically involves just recompiling the source code. uClibc even supports shared libraries
-and threading. It currently runs on standard Linux and MMU-less (also known as uClinux)
-systems with support for alpha, ARM, cris, i386, i960, h8300, m68k, mips/mipsel, PowerPC,
-SH, SPARC, and v850 processors.
-</longdescription>
-</pkgmetadata>
+++ /dev/null
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/uclibc-0.9.21.ebuild,v 1.10 2005/01/11 06:19:57 vapier Exp $
-
-inherit eutils
-
-MY_P="${P/ucl/uCl}"
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc.org/"
-SRC_URI="http://www.kernel.org/pub/linux/libs/uclibc/${MY_P}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="x86 ~ppc ~sparc ~mips"
-IUSE=""
-
-DEPEND="sys-devel/gcc"
-PROVIDE="virtual/glibc virtual/libc"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-
- make defconfig || die "could not config"
- for def in UCLIBC_HAS_LOCALE DODEBUG DOASSERTS SUPPORT_LD_DEBUG SUPPORT_LD_DEBUG_EARLY ; do
- sed -i "s:${def}=y:# ${def} is not set:" .config
- done
- cp .config myconfig
-
- for f in `grep -Rl 'subst -g' *` ; do
- sed -i -e "/subst -g/s:-g:\\' -g \\':" ${f}
- done
-
- emake clean || die "could not clean"
-}
-
-src_compile() {
- mv myconfig .config
- make || die "could not make"
-}
-
-src_install() {
- make PREFIX=${D} install || die "install failed"
-}
+++ /dev/null
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/uclibc-0.9.26-r5.ebuild,v 1.11 2005/01/11 06:19:57 vapier Exp $
-
-inherit eutils flag-o-matic gcc
-
-# To make a new CVS_VER we do.
-# wget -O - http://uclibc.org/downloads/snapshots/uClibc-`date +%Y%m%d`.tar.bz2 | tar jxf -
-# tar jxf /usr/portage/distfiles/uClibc-0.9.26.tar.bz2
-# diff -urN --exclude .cvsignore --exclude CVS uClibc-0.9.26 uClibc | bzip2 - > uClibc-0.9.26-cvs-update-`date +%Y%m%d`.patch.bz2
-# rm -rf uClibc-0.9.26-cvs-update-`date +%Y%m%d`.patch.bz2 uClibc uClibc-0.9.26
-
-MY_P="${P/ucl/uCl}"
-CVS_VER="20040808"
-PATCH_VER="1.1"
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc.org/"
-SRC_URI="http://www.kernel.org/pub/linux/libs/uclibc/${MY_P}.tar.bz2
- mirror://gentoo/${MY_P}-cvs-update-${CVS_VER}.patch.bz2
- mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="x86 ppc ~sparc mips arm"
-IUSE="build hardened ipv6 static debug" # nls is not supported yet
-RESTRICT="nostrip"
-
-DEPEND="sys-devel/gcc"
-RDEPEND=""
-PROVIDE="virtual/glibc virtual/libc"
-
-S=${WORKDIR}/${MY_P}
-
-check_main_libc() {
- if [ "${CHOST/uclibc}" != "${CHOST}" ] ; then
- SYS_LIBC=uClibc
- else
- SYS_LIBC=glibc
- fi
- export SYS_LIBC
- echo
- einfo "We are building for ${SYS_LIBC} system library"
- echo
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-
- if [ -n "${CVS_VER}" ]
- then
- epatch ${DISTDIR}/${MY_P}-cvs-update-${CVS_VER}.patch.bz2
- fi
-
- cp ${FILESDIR}/0.9.26/ssp.c ${S}/libc/sysdeps/linux/common/ \
- || die "failed to copy ssp.c to ${S}/libc/sysdeps/linux/common/"
- # gcc 3.4 nukes ssp without this patch
- if [ "`gcc-major-version`" -eq "3" -a "`gcc-minor-version`" -ge "4" ]
- then
- epatch ${FILESDIR}/0.9.26/uclibc-0.9.26-ssp-gcc34-after-frandom.patch
- fi
-
- if [ -n "${PATCH_VER}" ]
- then
- unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2
- # for now we remove relro/now, no support for relro in ldso
- rm -f ${WORKDIR}/patch/*relro*
- rm -f ${WORKDIR}/patch/*now*
- rm -f ${WORKDIR}/patch/11_all_uClibc-0.9.26-socket.patch.bz2
- # remove default ssp build
- use hardened || rm -f ${WORKDIR}/patch/*enable-ssp*
- epatch ${WORKDIR}/patch
- fi
-
- # support archs which dont implement all syscalls
- [ -z "${CVS_VER}" ] \
- && epatch ${FILESDIR}/${PV}/arm-fix-missing-syscalls.patch \
- || epatch ${FILESDIR}/${PV}/uclibc-0.9.26-arm-dl-sysdep.patch
- epatch ${FILESDIR}/${PV}/arm-ucontext.patch
-
- # build all .S files w/ -Wa,--noexecstack
- if [ "0${CVS_VER}" -ge "20040730" ]; then
- einfo "Skipping noexecstack patch. (need update)"
- else
- epatch ${FILESDIR}/${PV}/${PN}-${PV}-noexecstack.patch
- fi
-
- # fix segfaults when running things like `emerge sync`
- epatch ${FILESDIR}/${PV}/${PN}-${PV}-resolve-segfault.patch
-
- # allow libs tagged as ELF_LIBC0 in the cache to be loaded
- epatch ${FILESDIR}/${PV}/${PN}-${PV}-ldso-cache.patch
-
- # fixup for install perms
- sed -i -e "s:-fa:-dRf:g" Makefile
-
- local target=""
- if [ "${ARCH}" == "x86" ] ; then
- target="i386"
- elif [ "${ARCH}" == "ppc" ] ; then
- target="powerpc"
- else
- # sparc|mips|alpha|arm|sh
- target="${ARCH}"
- fi
- sed -i \
- -e "s:default TARGET_i386:default TARGET_${target}:" \
- extra/Configs/Config.in
- sed -i \
- -e "s:default CONFIG_GENERIC_386:default CONFIG_${UCLIBC_CPU:-GENERIC_386}:" \
- extra/Configs/Config.${target}
-
- make defconfig >/dev/null || die "could not config"
-
- for def in UCLIBC_PROFILING DO{DEBUG,ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do
- sed -i -e "s:${def}=y:# ${def} is not set:" .config
- done
- if use debug ; then
- echo "SUPPORT_LD_DEBUG=y" >> .config
- echo "DODEBUG=y" >> .config
- fi
-
- for def in DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do
- sed -i -e "s:# ${def} is not set:${def}=y:" .config
- done
- echo "UCLIBC_HAS_FULL_RPC=y" >> .config
- echo "PTHREADS_DEBUG_SUPPORT=y" >> .config
-
- #if use nls
- #then
- # sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config
- # echo "UCLIBC_HAS_XLOCALE=n" >> .config
- # echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config
- # echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config
- # echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config
- # # on pax enabled kernels the locale files can't be built
- # echo "UCLIBC_PREGENERATED_LOCALE_DATA=n" >> .config
- #fi
- # we disable LOCALE for any case, gettext has to be used
- echo "UCLIBC_HAS_LOCALE=n" >> .config
-
- use ipv6 && sed -i -e "s:# UCLIBC_HAS_IPV6 is not set:UCLIBC_HAS_IPV6=y:" .config
-
- if use hardened
- then
- if use x86
- then
- einfo "Enable Position Independent Executable support in ${P}"
- sed -i -e "s:# UCLIBC_PIE_SUPPORT.*:UCLIBC_PIE_SUPPORT=y:" .config
- fi
-
- einfo "Enable Stack Smashing Protections support in ${P}"
- sed -i -e "s:# UCLIBC_PROPOLICE.*:UCLIBC_PROPOLICE=y:" .config
- echo "PROPOLICE_BLOCK_ABRT=n" >> .config
- echo "PROPOLICE_BLOCK_SEGV=n" >> .config
- echo "PROPOLICE_BLOCK_KILL=y" >> .config
- fi
-
- # we are building against system installed kernel headers
- sed -i -e 's:KERNEL_SOURCE.*:KERNEL_SOURCE="/usr":' .config
-
- check_main_libc
- if [ "${SYS_LIBC}" = "uClibc" ] ; then
- sed -i \
- -e 's:SHARED_LIB_LOADER_PREFIX=.*:SHARED_LIB_LOADER_PREFIX="/lib":' \
- -e 's:DEVEL_PREFIX=.*:DEVEL_PREFIX="/usr":' \
- -e 's:RUNTIME_PREFIX=.*:RUNTIME_PREFIX="/":' \
- .config
- sed -i '/LIBRARY_CACHE:=/s:#::' Rules.mak
- fi
-
- make -s oldconfig > /dev/null || die "could not make oldconfig"
-
- chmod +x extra/scripts/relative_path.sh
-
- cp .config myconfig
-
- emake clean >/dev/null || die "could not clean"
-
- sed -i 's:-DUCLIBC:$(LIBRARY_CACHE) -DUCLIBC:' ldso/{ldso,libdl}/Makefile
- sed -i 's:\$(R_PREFIX):\\"$(RUNTIME_PREFIX)\\" $(LIBRARY_CACHE):' utils/Makefile
- sed -i 's: I\.: -I.:' ldso/libdl/Makefile
- sed -i 's:sys/user\.h:asm/page.h:' libc/misc/internals/__uClibc_main.c
-}
-
-src_compile() {
- # running tests require this
- use build || addwrite /dev/ptmx
- cp myconfig .config
-
- #if use nls
- #then
- # # these can be built only if the build system supports locales (as of 0.9.26)
- # emake -j1 headers
- # cd extra/locale
- # make clean
- # find ./charmaps -name "*.pairs" > codesets.txt
- # cp LOCALES locales.txt
- # emake -j1 || die "could not make locales"
- # cd ../..
- #fi
-
- emake -j1 || die "could not make"
- check_main_libc
- if [ "${SYS_LIBC}" = "uClibc" ]
- then
- emake -j1 utils || die "could not make utils"
- fi
-
- if ! use build
- then
- if ! hasq maketest $RESTRICT
- then
- # assert test fails on pax enabled kernels - normal
- # vfork test fails in sandbox (both glibc/uclibc)
- cd test; make; cd ..
- fi
- fi
-}
-
-src_install() {
- emake PREFIX=${D} install || die "install failed"
-
- # remove files coming from kernel-headers
- # scsi is uclibc's own directory since cvs 20040212
- check_main_libc
- if [ "${SYS_LIBC}" = "uClibc" ]
- then
- rm -rf ${D}/usr/include/{asm,linux}
- rm -f ${D}/usr/lib/lib*_pic.a
- ! use static && use build && rm -f ${D}/usr/lib/lib*.a
-
- emake PREFIX=${D} install_utils || die "install-utils failed"
- dodir /usr/bin
- exeinto /usr/bin
- doexe ${FILESDIR}/getent
- fi
-
- # shameless plug for mjn3 who gives us so much...
- # please give back if you can. -solar
- f=DEDICATION.mjn3 ; [ -e "$f" ] && ( cat $f ; epause 2 )
-
- if ! use build
- then
- dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3
- doman debian/*.1
- fi
-}
-
-#pkg_postinst() {
-#check_main_libc
-#if [ "${SYS_LIBC}" = "uClibc" ] ; then
-# if [ "${ROOT}" = "/" ] ; then
-# /sbin/ldconfig
-# [ ! -e /etc/TZ ] && echo UTC > /etc/TZ
-# # reload init?
-# fi
-#else
-#should we add the lib dir to ld.so.conf?
-#fi
-#}
+++ /dev/null
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/uclibc-0.9.26-r7.ebuild,v 1.3 2005/01/11 06:19:57 vapier Exp $
-
-inherit eutils flag-o-matic gcc
-
-# To make a new CVS_VER we do.
-# wget -O - http://uclibc.org/downloads/snapshots/uClibc-`date +%Y%m%d`.tar.bz2 | tar jxf -
-# tar jxf /usr/portage/distfiles/uClibc-0.9.26.tar.bz2
-# diff -urN --exclude .cvsignore --exclude CVS uClibc-0.9.26 uClibc | bzip2 - > uClibc-0.9.26-cvs-update-`date +%Y%m%d`.patch.bz2
-# rm -rf uClibc-0.9.26-cvs-update-`date +%Y%m%d`.patch.bz2 uClibc uClibc-0.9.26
-
-MY_P="${P/ucl/uCl}"
-CVS_VER="20040808"
-PATCH_VER="1.1"
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc.org/"
-SRC_URI="http://www.kernel.org/pub/linux/libs/uclibc/${MY_P}.tar.bz2
- mirror://gentoo/${MY_P}-cvs-update-${CVS_VER}.patch.bz2
- mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="x86 ppc ~sparc mips arm"
-IUSE="build hardened ipv6 static debug" # nls is not supported yet
-RESTRICT="nostrip"
-
-DEPEND="sys-devel/gcc"
-RDEPEND=""
-PROVIDE="virtual/glibc virtual/libc"
-
-S=${WORKDIR}/${MY_P}
-
-check_main_libc() {
- if [ "${CHOST/uclibc}" != "${CHOST}" ] ; then
- SYS_LIBC=uClibc
- else
- SYS_LIBC=glibc
- fi
- export SYS_LIBC
- echo
- einfo "We are building for ${SYS_LIBC} system library"
- echo
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-
- if [ -n "${CVS_VER}" ]
- then
- epatch ${DISTDIR}/${MY_P}-cvs-update-${CVS_VER}.patch.bz2
- fi
-
- cp ${FILESDIR}/0.9.26/ssp.c ${S}/libc/sysdeps/linux/common/ \
- || die "failed to copy ssp.c to ${S}/libc/sysdeps/linux/common/"
- # gcc 3.4 nukes ssp without this patch
- if [ "`gcc-major-version`" -eq "3" -a "`gcc-minor-version`" -ge "4" ]
- then
- epatch ${FILESDIR}/0.9.26/uclibc-0.9.26-ssp-gcc34-after-frandom.patch
- fi
-
- if [ -n "${PATCH_VER}" ]
- then
- unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2
- # for now we remove relro/now, no support for relro in ldso
- rm -f ${WORKDIR}/patch/*relro*
- rm -f ${WORKDIR}/patch/*now*
- rm -f ${WORKDIR}/patch/11_all_uClibc-0.9.26-socket.patch.bz2
- # remove default ssp build
- use hardened || rm -f ${WORKDIR}/patch/*enable-ssp*
- epatch ${WORKDIR}/patch
- fi
-
- # support archs which dont implement all syscalls
- [ -z "${CVS_VER}" ] \
- && epatch ${FILESDIR}/${PV}/arm-fix-missing-syscalls.patch \
- || epatch ${FILESDIR}/${PV}/uclibc-0.9.26-arm-dl-sysdep.patch
- epatch ${FILESDIR}/${PV}/arm-ucontext.patch
-
- # build all .S files w/ -Wa,--noexecstack
- if [ "0${CVS_VER}" -ge "20040730" ]; then
- einfo "Skipping noexecstack patch. (need update)"
- else
- epatch ${FILESDIR}/${PV}/${PN}-${PV}-noexecstack.patch
- fi
-
- # fix segfaults when running things like `emerge sync`
- epatch ${FILESDIR}/${PV}/${PN}-${PV}-resolve-segfault.patch
-
- # allow libs tagged as ELF_LIBC0 in the cache to be loaded
- epatch ${FILESDIR}/${PV}/${PN}-${PV}-ldso-cache.patch
-
- # Take extra security precaution's for suid handling with environment variables
- epatch ${FILESDIR}/${PV}/uClibc-20040921-ldso-unsecvars.patch
- cp ${FILESDIR}/${PV}/unsecvars.h ${S}/ldso/include/ || die
-
- # fixup for install perms
- sed -i -e "s:-fa:-dRf:g" Makefile
-
- local target=""
- if [ "${ARCH}" == "x86" ] ; then
- target="i386"
- elif [ "${ARCH}" == "ppc" ] ; then
- target="powerpc"
- else
- # sparc|mips|alpha|arm|sh
- target="${ARCH}"
- fi
- sed -i \
- -e "s:default TARGET_i386:default TARGET_${target}:" \
- extra/Configs/Config.in
- sed -i \
- -e "s:default CONFIG_GENERIC_386:default CONFIG_${UCLIBC_CPU:-GENERIC_386}:" \
- extra/Configs/Config.${target}
-
- make defconfig >/dev/null || die "could not config"
-
- for def in UCLIBC_PROFILING DO{DEBUG,ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do
- sed -i -e "s:${def}=y:# ${def} is not set:" .config
- done
- if use debug ; then
- echo "SUPPORT_LD_DEBUG=y" >> .config
- echo "DODEBUG=y" >> .config
- fi
-
- for def in DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do
- sed -i -e "s:# ${def} is not set:${def}=y:" .config
- done
- echo "UCLIBC_HAS_FULL_RPC=y" >> .config
- echo "PTHREADS_DEBUG_SUPPORT=y" >> .config
-
- #if use nls
- #then
- # sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config
- # echo "UCLIBC_HAS_XLOCALE=n" >> .config
- # echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config
- # echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config
- # echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config
- # # on pax enabled kernels the locale files can't be built
- # echo "UCLIBC_PREGENERATED_LOCALE_DATA=n" >> .config
- #fi
- # we disable LOCALE for any case, gettext has to be used
- echo "UCLIBC_HAS_LOCALE=n" >> .config
-
- use ipv6 && sed -i -e "s:# UCLIBC_HAS_IPV6 is not set:UCLIBC_HAS_IPV6=y:" .config
-
- if use hardened
- then
- if use x86
- then
- einfo "Enable Position Independent Executable support in ${P}"
- sed -i -e "s:# UCLIBC_PIE_SUPPORT.*:UCLIBC_PIE_SUPPORT=y:" .config
- fi
-
- einfo "Enable Stack Smashing Protections support in ${P}"
- sed -i -e "s:# UCLIBC_PROPOLICE.*:UCLIBC_PROPOLICE=y:" .config
- echo "PROPOLICE_BLOCK_ABRT=n" >> .config
- echo "PROPOLICE_BLOCK_SEGV=n" >> .config
- echo "PROPOLICE_BLOCK_KILL=y" >> .config
- fi
-
- # we are building against system installed kernel headers
- sed -i -e 's:KERNEL_SOURCE.*:KERNEL_SOURCE="/usr":' .config
-
- check_main_libc
- if [ "${SYS_LIBC}" = "uClibc" ] ; then
- sed -i \
- -e 's:SHARED_LIB_LOADER_PREFIX=.*:SHARED_LIB_LOADER_PREFIX="/lib":' \
- -e 's:DEVEL_PREFIX=.*:DEVEL_PREFIX="/usr":' \
- -e 's:RUNTIME_PREFIX=.*:RUNTIME_PREFIX="/":' \
- .config
- sed -i '/LIBRARY_CACHE:=/s:#::' Rules.mak
- fi
-
- make -s oldconfig > /dev/null || die "could not make oldconfig"
-
- chmod +x extra/scripts/relative_path.sh
-
- cp .config myconfig
-
- emake clean >/dev/null || die "could not clean"
-
- sed -i 's:-DUCLIBC:$(LIBRARY_CACHE) -DUCLIBC:' ldso/{ldso,libdl}/Makefile
- sed -i 's:\$(R_PREFIX):\\"$(RUNTIME_PREFIX)\\" $(LIBRARY_CACHE):' utils/Makefile
- sed -i 's: I\.: -I.:' ldso/libdl/Makefile
- sed -i 's:sys/user\.h:asm/page.h:' libc/misc/internals/__uClibc_main.c
-}
-
-src_compile() {
- # running tests require this
- use build || addwrite /dev/ptmx
- cp myconfig .config
-
- #if use nls
- #then
- # # these can be built only if the build system supports locales (as of 0.9.26)
- # emake -j1 headers
- # cd extra/locale
- # make clean
- # find ./charmaps -name "*.pairs" > codesets.txt
- # cp LOCALES locales.txt
- # emake -j1 || die "could not make locales"
- # cd ../..
- #fi
-
- emake -j1 || die "could not make"
- check_main_libc
- if [ "${SYS_LIBC}" = "uClibc" ]
- then
- emake -j1 utils || die "could not make utils"
- fi
-
- if ! use build
- then
- if ! hasq maketest $RESTRICT
- then
- # assert test fails on pax enabled kernels - normal
- # vfork test fails in sandbox (both glibc/uclibc)
- cd test; make; cd ..
- fi
- fi
-}
-
-src_install() {
- emake PREFIX=${D} install || die "install failed"
-
- # remove files coming from kernel-headers
- # scsi is uclibc's own directory since cvs 20040212
- check_main_libc
- if [ "${SYS_LIBC}" = "uClibc" ]
- then
- rm -rf ${D}/usr/include/{asm,linux}
- rm -f ${D}/usr/lib/lib*_pic.a
- ! use static && use build && rm -f ${D}/usr/lib/lib*.a
-
- emake PREFIX=${D} install_utils || die "install-utils failed"
- dodir /usr/bin
- exeinto /usr/bin
- doexe ${FILESDIR}/getent
- fi
-
- # shameless plug for mjn3 who gives us so much...
- # please give back if you can. -solar
- f=DEDICATION.mjn3 ; [ -e "$f" ] && ( cat $f ; epause 2 )
-
- if ! use build
- then
- dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3
- doman debian/*.1
- fi
-}
-
-#pkg_postinst() {
-#check_main_libc
-#if [ "${SYS_LIBC}" = "uClibc" ] ; then
-# if [ "${ROOT}" = "/" ] ; then
-# /sbin/ldconfig
-# [ ! -e /etc/TZ ] && echo UTC > /etc/TZ
-# # reload init?
-# fi
-#else
-#should we add the lib dir to ld.so.conf?
-#fi
-#}
+++ /dev/null
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/uclibc-0.9.26-r8.ebuild,v 1.4 2005/01/11 06:19:57 vapier Exp $
-
-inherit eutils flag-o-matic toolchain-funcs
-
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
- export CTARGET=${CATEGORY/cross-}
- fi
-fi
-
-# To make a new CVS_VER we do.
-# wget -O - http://uclibc.org/downloads/snapshots/uClibc-`date +%Y%m%d`.tar.bz2 | tar jxf -
-# tar jxf /usr/portage/distfiles/uClibc-0.9.26.tar.bz2
-# diff -urN --exclude .cvsignore --exclude CVS uClibc-0.9.26 uClibc | bzip2 - > uClibc-0.9.26-cvs-update-`date +%Y%m%d`.patch.bz2
-# rm -rf uClibc-0.9.26-cvs-update-`date +%Y%m%d`.patch.bz2 uClibc uClibc-0.9.26
-
-MY_P=${P/ucl/uCl}
-# only CVS_VER >= 20041117 is supported
-CVS_VER="20041209"
-PATCH_VER="1.4"
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc.org/"
-SRC_URI="http://www.kernel.org/pub/linux/libs/uclibc/${MY_P}.tar.bz2
- mirror://gentoo/${MY_P}-cvs-update-${CVS_VER}.patch.bz2
- mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2"
-
-LICENSE="LGPL-2"
-[[ ${CTARGET} != ${CHOST} ]] \
- && SLOT="${CTARGET}" \
- || SLOT="0"
-KEYWORDS="-*"
-#KEYWORDS="~x86 ~ppc ~sparc ~mips ~arm"
-IUSE="alsa build debug hardened ipv6 static xattr" # nls is not supported yet
-RESTRICT="nostrip"
-
-# 2004/11/16 the only binutils w/ relro support for uclibc
-DEPEND="sys-devel/gcc"
-RDEPEND=""
-PROVIDE="virtual/glibc virtual/libc"
-
-S="${WORKDIR}/${MY_P}"
-
-alt_prefix() {
- if [[ ${CTARGET} = ${CHOST} ]] ; then
- echo /usr
- else
- echo /usr/${CTARGET}
- fi
-}
-alt_rprefix() {
- if [[ ${CTARGET} = ${CHOST} ]] ; then
- echo /
- else
- echo /usr/${CTARGET}
- fi
-}
-
-CPU_ARM="GENERIC_ARM ARM{610,710,720T,920T,922T,926T,_{SA110,SA1100,XSCALE}}"
-CPU_MIPS="MIPS_ISA_{1,2,3,4,MIPS{32,64}}"
-CPU_PPC=""
-CPU_SH="SH{2,3,4,5}"
-CPU_X86="GENERIC_386 {3,4,5,6}86 PENTIUM{II,III,4} K{6,7} ELAN CRUSOE WINCHIP{C6,2} CYRIXIII NEHEMIAH"
-IUSE_UCLIBC_CPU="${CPU_ARM} ${CPU_MIPS} ${CPU_PPC} ${CPU_SH} ${CPU_X86}"
-
-check_cpu_opts() {
- local cpu_var="CPU_$(echo $(tc-arch ${CTARGET}) | tr [a-z] [A-Z])"
- if [[ -z ${UCLIBC_CPU} ]] ; then
- ewarn "You really should consider setting UCLIBC_CPU"
- ewarn "Otherwise, the build will be generic (read: slow)."
- ewarn "Available CPU options:"
- UCLIBC_CPU=$(eval echo ${!cpu_var})
- echo ${UCLIBC_CPU}
- export UCLIBC_CPU=${UCLIBC_CPU%% *}
- else
- local cpu found=0
- for cpu in $(eval echo ${!cpu_var}) ; do
- [[ ${UCLIBC_CPU} == "${cpu}" ]] && found=1 && break
- done
- if [[ ${found} -eq 0 ]] ; then
- ewarn "UCLIBC_CPU choice '${UCLIBC_CPU}' not supported"
- ewarn "Valid choices:"
- eval echo ${!cpu_var}
- die "pick a supported cpu type"
- fi
- fi
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- check_cpu_opts
-
- ########## PATCHES ##########
-
- [[ -n ${CVS_VER} ]] && \
- epatch ${DISTDIR}/${MY_P}-cvs-update-${CVS_VER}.patch.bz2
-
- if [[ -n ${PATCH_VER} ]] ; then
- unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2
- epatch ${WORKDIR}/patch
- # math functions (sinf,cosf,tanf,atan2f,powf,fabsf,copysignf,scalbnf,rem_pio2f)
- use build || epatch ${WORKDIR}/patch/math
- fi
-
- ########## CPU SELECTION ##########
-
- local target config_target
- case $(tc-arch ${CTARGET}) in
- arm) target="arm"; config_target="GENERIC_ARM";;
- mips) target="mips"; config_target="MIPS_ISA_1";;
- ppc) target="powerpc"; config_target="no cpu-specific options";;
- sh) target="sh"; config_target="SH4";;
- x86) target="i386"; config_target="GENERIC_386";;
- *) die "$(tc-arch ${CTARGET}) lists no defaults :/";;
- esac
- sed -i -e "s:default TARGET_i386:default TARGET_${target}:" \
- extra/Configs/Config.in
- sed -i -e "s:default CONFIG_${config_target}:default CONFIG_${UCLIBC_CPU:-${config_target}}:" \
- extra/Configs/Config.${target}
-
- ########## CONFIG SETUP ##########
-
- make defconfig >/dev/null || die "could not config"
-
- for def in UCLIBC_PROFILING DO{DEBUG,ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do
- sed -i -e "s:${def}=y:# ${def} is not set:" .config
- done
- if use debug ; then
- echo "SUPPORT_LD_DEBUG=y" >> .config
- echo "DODEBUG=y" >> .config
- fi
-
- sed -i -e 's:^ARCH_.*_ENDIAN=y::' .config
- echo "ARCH_$(tc-endian | tr [a-z] [A-Z])_ENDIAN=y" >> .config
-
- for def in DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do
- sed -i -e "s:# ${def} is not set:${def}=y:" .config
- done
- echo "UCLIBC_HAS_FULL_RPC=y" >> .config
- echo "PTHREADS_DEBUG_SUPPORT=y" >> .config
-
- #if use nls ; then
- # sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config
- # echo "UCLIBC_HAS_XLOCALE=n" >> .config
- # echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config
- # echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config
- # # removed on 20040907 by mjn3
- # echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config
- # # on pax enabled kernels the locale files can't be built
- # echo "UCLIBC_PREGENERATED_LOCALE_DATA=n" >> .config
- #fi
- # we disable LOCALE for any case, gettext has to be used
- echo "UCLIBC_HAS_LOCALE=n" >> .config
-
- use ipv6 && sed -i -e "s:# UCLIBC_HAS_IPV6 is not set:UCLIBC_HAS_IPV6=y:" .config
-
- # uncomment if you miss wordexp (alsa-lib)
- use alsa && sed -i -e "s:# UCLIBC_HAS_WORDEXP is not set:UCLIBC_HAS_WORDEXP=y:" .config
-
- # we need to do it independently of hardened to get ssp.c built into libc
- sed -i -e "s:# UCLIBC_SECURITY.*:UCLIBC_SECURITY=y:" .config
- einfo "Enable Stack Smashing Protections support in ${P}"
- echo "UCLIBC_HAS_SSP=y:" >> .config
- echo "PROPOLICE_BLOCK_ABRT=n" >> .config
- if use debug ; then
- echo "PROPOLICE_BLOCK_SEGV=y" >> .config
- echo "PROPOLICE_BLOCK_KILL=n" >> .config
- else
- echo "PROPOLICE_BLOCK_SEGV=n" >> .config
- echo "PROPOLICE_BLOCK_KILL=y" >> .config
- fi
-
- if use hardened ; then
- if has $(tc-arch ${CTARGET}) mips ppc x86 ; then
- echo "UCLIBC_BUILD_PIE=y" >> .config
- else
- echo "UCLIBC_BUILD_PIE=n" >> .config
- fi
-
- echo "UCLIBC_BUILD_SSP=y" >> .config
- echo "UCLIBC_BUILD_RELRO=y" >> .config
- echo "UCLIBC_BUILD_NOW=y" >> .config
- echo "UCLIBC_BUILD_NOEXECSTACK=y" >> .config
- else
- echo "UCLIBC_BUILD_PIE=n" >> .config
- echo "UCLIBC_BUILD_SSP=n" >> .config
- echo "UCLIBC_BUILD_RELRO=n" >> .config
- echo "UCLIBC_BUILD_NOW=n" >> .config
- echo "UCLIBC_BUILD_NOEXECSTACK=n" >> .config
- fi
-
- use xattr && echo "UCLIBC_XATTR=y" >> .config
-
- # we are building against system installed kernel headers
- sed -i \
- -e "s:KERNEL_SOURCE.*:KERNEL_SOURCE=\"$(alt_prefix)\":" \
- -e "s:SHARED_LIB_LOADER_PREFIX=.*:SHARED_LIB_LOADER_PREFIX=\"$(alt_rprefix)/$(get_libdir)\":" \
- -e "s:DEVEL_PREFIX=.*:DEVEL_PREFIX=\"$(alt_prefix)\":" \
- -e "s:RUNTIME_PREFIX=.*:RUNTIME_PREFIX=\"$(alt_rprefix)\":" \
- .config
-
- yes "" | make -s oldconfig > /dev/null || die "could not make oldconfig"
-
- chmod +x extra/scripts/relative_path.sh
-
- cp .config myconfig
-
- emake clean >/dev/null || die "could not clean"
-}
-
-src_compile() {
- # running tests require this
- use build || addwrite /dev/ptmx
- cp myconfig .config
-
- #if use nls ; then
- # # these can be built only if the build system supports locales (as of 0.9.26)
- # emake -j1 headers
- # cd extra/locale
- # make clean
- # find ./charmaps -name "*.pairs" > codesets.txt
- # cp LOCALES locales.txt
- # emake -j1 || die "could not make locales"
- # cd ../..
- #fi
- local makeopts
- type -p ${CTARGET}-ar && makeopts="CROSS=${CTARGET}-"
-
- emake -j1 ${makeopts} || die "could not make"
- [[ ${CTARGET} != ${CHOST} ]] && return 0
-
- if [[ ${CHOST} == *-uclibc ]] ; then
- emake -j1 ${makeopts} utils || die "could not make utils"
- fi
-
- if ! use build ; then
- if ! hasq maketest $RESTRICT ; then
- src_test
- fi
- fi
-}
-
-src_test() {
- # assert test fails on pax/grsec enabled kernels - normal
- # vfork test fails in sandbox (both glibc/uclibc)
- cd test
- make
-}
-
-src_install() {
- emake PREFIX="${D}" install || die "install failed"
-
- # remove files coming from kernel-headers
- # scsi is uclibc's own directory since cvs 20040212
- rm -r "${D}"$(alt_prefix)/include/{asm,linux,asm-generic}
-
- [[ ${CTARGET} != ${CHOST} ]] && return 0
-
- if [[ ${CHOST} == *-uclibc ]] ; then
-# rm -f "${D}"$(alt_prefix)/lib/lib*_pic.a
-# ! use static && use build && rm -f "${D}"$(alt_prefix)/lib/lib*.a
-
- emake PREFIX="${D}" install_utils || die "install-utils failed"
- dodir /usr/bin
- exeinto /usr/bin
- doexe extra/scripts/getent
- fi
-
- if ! use build ; then
- dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3
- doman debian/*.1
- fi
-}
-
-pkg_postinst() {
-[[ ${CTARGET} != ${CHOST} ]] && return 0
-
-if [[ ${CHOST} == *-uclibc ]] ; then
- # remove invalid symlinks if any
- #local x=
- #for x in TZ ld.so.conf ld.so.preload ; do
- # [ ! -e "${ROOT}/etc/${x}" ] && rm -f ${ROOT}/etc/${x}
- #done
-
- if [[ ! -e ${ROOT}/etc/TZ ]] ; then
- echo "Please remember to set your timezone in /etc/TZ."
- echo "UTC" > "${ROOT}"/etc/TZ
- fi
-
- if [[ ! -e ${ROOT}/etc/ld.so.conf ]] ; then
- [[ -d ${ROOT}/usr/X11R6/lib ]] \
- && echo "/usr/X11R6/lib" > "${ROOT}"/etc/ld.so.conf \
- || > "${ROOT}"/etc/ld.so.conf
- fi
-
- if [[ ${ROOT} == "/" ]] ; then
- # update cache before reloading init
- /sbin/ldconfig
- # reload init ...
- [ -x /sbin/init ] && /sbin/init U &> /dev/null
- # add entries for alternatives (like minit)
- fi
-#else
-#should we add the libdir on a non-uclibc based system to ld.so.conf?
-fi
-}
+++ /dev/null
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/uclibc-9999.ebuild,v 1.5 2005/01/11 06:19:57 vapier Exp $
-
-ECVS_SERVER="uclibc.org:/var/cvs"
-ECVS_MODULE="uClibc"
-inherit eutils flag-o-matic gcc cvs
-
-MY_PN="${PN/ucl/uCl}"
-DESCRIPTION="C library for developing embedded Linux systems"
-HOMEPAGE="http://www.uclibc.org/"
-SRC_URI=""
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="-*"
-IUSE="build hardened ipv6 static debug" # nls is not supported yet
-RESTRICT="nostrip"
-
-DEPEND="sys-devel/gcc"
-RDEPEND=""
-PROVIDE="virtual/glibc virtual/libc"
-
-S=${WORKDIR}/${ECVS_MODULE}
-
-src_unpack() {
- cvs_src_unpack
- unpack ${A}
- cd ${S}
-
- cp ${FILESDIR}/0.9.26/ssp.c ${S}/libc/sysdeps/linux/common/ \
- || die "failed to copy ssp.c to ${S}/libc/sysdeps/linux/common/"
- # gcc 3.4 nukes ssp without this patch
- if [ "`gcc-major-version`" -eq "3" -a "`gcc-minor-version`" -ge "4" ]
- then
- epatch ${FILESDIR}/0.9.26/uclibc-0.9.26-ssp-gcc34-after-frandom.patch
- fi
-
- cp -rf ${FILESDIR}/cvs ${S}/patch
- # for now we remove relro/now, no support for relro in ldso
- rm -f ${S}/patch/*relro*
- rm -f ${S}/patch/*now*
- # remove default ssp build
- use hardened || rm -f ${S}/patch/*enable-ssp*
- EPATCH_SUFFIX="patch" epatch ${S}/patch/
-
-# epatch ${FILESDIR}/${MY_PV}/uclibc-0.9.26-arm-dl-sysdep.patch
-
- # build all .S files w/ -Wa,--noexecstack
- einfo "Skipping noexecstack patch. (need update)"
-# epatch ${FILESDIR}/${MY_PV}/${PN}-${MY_PV}-noexecstack.patch
-
- local target=""
- if [ "${ARCH}" == "x86" ] ; then
- target="i386"
- elif [ "${ARCH}" == "ppc" ] ; then
- target="powerpc"
- else
- # sparc|mips|alpha|arm|sh
- target="${ARCH}"
- fi
- sed -i \
- -e "s:default TARGET_i386:default TARGET_${target}:" \
- extra/Configs/Config.in
- sed -i \
- -e "s:default CONFIG_GENERIC_386:default CONFIG_${UCLIBC_CPU:-GENERIC_386}:" \
- extra/Configs/Config.${target}
-
- make defconfig >/dev/null || die "could not config"
-
- for def in UCLIBC_PROFILING DO{DEBUG,ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do
- sed -i -e "s:${def}=y:# ${def} is not set:" .config
- done
- if use debug ; then
- echo "SUPPORT_LD_DEBUG=y" >> .config
- echo "DODEBUG=y" >> .config
- fi
-
- for def in DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do
- sed -i -e "s:# ${def} is not set:${def}=y:" .config
- done
- echo "UCLIBC_HAS_FULL_RPC=y" >> .config
- echo "PTHREADS_DEBUG_SUPPORT=y" >> .config
-
- #if use nls
- #then
- # sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config
- # echo "UCLIBC_HAS_XLOCALE=n" >> .config
- # echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config
- # echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config
- # echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config
- # # on pax enabled kernels the locale files can't be built
- # echo "UCLIBC_PREGENERATED_LOCALE_DATA=n" >> .config
- #fi
- # we disable LOCALE for any case, gettext has to be used
- echo "UCLIBC_HAS_LOCALE=n" >> .config
-
- use ipv6 && sed -i -e "s:# UCLIBC_HAS_IPV6 is not set:UCLIBC_HAS_IPV6=y:" .config
-
- if use hardened
- then
- if use x86
- then
- einfo "Enable Position Independent Executable support in ${P}"
- sed -i -e "s:# UCLIBC_PIE_SUPPORT.*:UCLIBC_PIE_SUPPORT=y:" .config
- fi
-
- einfo "Enable Stack Smashing Protections support in ${P}"
- sed -i -e "s:# UCLIBC_PROPOLICE.*:UCLIBC_PROPOLICE=y:" .config
- echo "PROPOLICE_BLOCK_ABRT=n" >> .config
- echo "PROPOLICE_BLOCK_SEGV=n" >> .config
- echo "PROPOLICE_BLOCK_KILL=y" >> .config
- fi
-
- # we are building against system installed kernel headers
- sed -i -e 's:KERNEL_SOURCE.*:KERNEL_SOURCE="/usr":' .config
-
- if [ "${PORTAGE_LIBC}" = "uClibc" ] ; then
- sed -i \
- -e 's:SHARED_LIB_LOADER_PREFIX=.*:SHARED_LIB_LOADER_PREFIX="/lib":' \
- -e 's:DEVEL_PREFIX=.*:DEVEL_PREFIX="/usr":' \
- -e 's:RUNTIME_PREFIX=.*:RUNTIME_PREFIX="/":' \
- .config
- sed -i '/LIBRARY_CACHE:=/s:#::' Rules.mak
- fi
-
- make -s oldconfig > /dev/null || die "could not make oldconfig"
-
- chmod +x extra/scripts/relative_path.sh
-
- cp .config myconfig
-
- emake clean >/dev/null || die "could not clean"
-
-# sed -i 's:\$(R_PREFIX):\\"$(RUNTIME_PREFIX)\\" $(LIBRARY_CACHE):' utils/Makefile
-}
-
-src_compile() {
- cp myconfig .config
-
- #if use nls
- #then
- # # these can be built only if the build system supports locales (as of 0.9.26)
- # emake -j1 headers
- # cd extra/locale
- # make clean
- # find ./charmaps -name "*.pairs" > codesets.txt
- # cp LOCALES locales.txt
- # emake -j1 || die "could not make locales"
- # cd ../..
- #fi
-
- emake -j1 || die "could not make"
- if [ "${PORTAGE_LIBC}" = "uClibc" ]
- then
- emake -j1 utils || die "could not make utils"
- fi
-}
-
-src_install() {
- emake PREFIX=${D} install || die "install failed"
-
- # remove files coming from kernel-headers
- # scsi is uclibc's own directory since cvs 20040212
- if [ "${PORTAGE_LIBC}" = "uClibc" ]
- then
- rm -rf ${D}/usr/include/{asm,linux}
- rm -f ${D}/usr/lib/lib*_pic.a
- ! use static && use build && rm -f ${D}/usr/lib/lib*.a
-
- emake PREFIX=${D} install_utils || die "install-utils failed"
- dodir /usr/bin
- exeinto /usr/bin
- doexe ${FILESDIR}/getent
- fi
-
- # shameless plug for mjn3 who gives us so much...
- # please give back if you can. -solar
- f=DEDICATION.mjn3 ; [ -e "$f" ] && ( cat $f ; epause 2 )
-
- if ! use build
- then
- dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3
- doman debian/*.1
- fi
-}