From: Jan Rękorajski Date: Tue, 28 Jan 2014 00:07:19 +0000 (+0100) Subject: - updted to 0.33 X-Git-Tag: auto/th/dietlibc-0.33-1 X-Git-Url: http://git.pld-linux.org/?p=packages%2Fdietlibc.git;a=commitdiff_plain;h=c2b5ba7b08ac12de55d3db1043c82f4fd0cbcabb - updted to 0.33 - ssp seems working fine now - dyn lib disables, doesn't build --- diff --git a/dietlibc-bloat.patch b/dietlibc-bloat.patch deleted file mode 100644 index 18150de..0000000 --- a/dietlibc-bloat.patch +++ /dev/null @@ -1,170 +0,0 @@ -Index: dietfeatures.h -=================================================================== -RCS file: /cvs/dietlibc/dietfeatures.h,v -retrieving revision 1.68 -retrieving revision 1.69 -diff -u -r1.68 -r1.69 ---- dietfeatures.h 21 Jun 2010 16:40:06 -0000 1.68 -+++ dietfeatures.h 1 Aug 2010 19:56:21 -0000 1.69 -@@ -121,6 +121,12 @@ - * `main' can not be found. */ - /* #define WANT_STACKGAP */ - -+/* #define this if you want GNU bloat like program_invocation_short_name -+ * and program_invocation_name to be there. This functionality is not -+ * portable and adds useless bloat to libc. Help stomp out code -+ * depending on this! util-linux, I'm looking at you here! */ -+#define WANT_GNU_STARTUP_BLOAT -+ - /* Include support for ProPolice/SSP, calls guard_setup */ - /* ProPolice is part of gcc 4.1 and up, there were patches for earlier - * versions. To make use of this, compile your application with -Index: include/errno.h -=================================================================== -RCS file: /cvs/dietlibc/include/errno.h,v -retrieving revision 1.22 -retrieving revision 1.23 -diff -u -r1.22 -r1.23 ---- include/errno.h 14 May 2005 23:35:39 -0000 1.22 -+++ include/errno.h 1 Aug 2010 19:56:21 -0000 1.23 -@@ -720,6 +720,11 @@ - extern int sys_nerr __attribute_dontuse__; - #endif - -+#ifdef _GNU_SOURCE -+extern char* program_invocation_name __attribute_dontuse__; -+extern char* program_invocation_short_name __attribute_dontuse__; -+#endif -+ - __END_DECLS - - #endif -Index: include/stdint.h -=================================================================== -RCS file: /cvs/dietlibc/include/stdint.h,v -retrieving revision 1.8 -retrieving revision 1.9 -diff -u -r1.8 -r1.9 ---- include/stdint.h 15 Mar 2005 08:51:22 -0000 1.8 -+++ include/stdint.h 1 Aug 2010 19:56:21 -0000 1.9 -@@ -2,6 +2,7 @@ - #define _STDINT_H - - #include -+#include - - __BEGIN_DECLS - -@@ -44,6 +45,39 @@ - WINT_MIN, WINT_MAX - */ - -+#define INT8_MIN (-0x80) -+#define INT16_MIN (-0x7fff-1) -+#define INT32_MIN (-0x7fffffffl-1) -+#define INT64_MIN (-0x7fffffffffffffffll-1) -+ -+#define INT8_MAX 0x7f -+#define INT16_MAX 0x7fff -+#define INT32_MAX 0x7fffffffl -+#define INT32_MAX 0x7fffffffffffffffll -+ -+#define UINT8_MAX 0xff -+#define UINT16_MAX 0xffff -+#define UINT32_MAX 0xfffffffful -+#define UINT64_MAX 0xffffffffffffffffull -+ -+#if __WORDSIZE == 64 -+#define INTPTR_MIN INT64_MIN -+#define INTPTR_MAX INT64_MAX -+#define UINTPTR_MAX UINT64_MAX -+#else -+#define INTPTR_MIN INT32_MIN -+#define INTPTR_MAX INT32_MAX -+#define UINTPTR_MAX UINT32_MAX -+#endif -+ -+#define SIZE_MAX UINTPTR_MAX -+#define PTRDIFF_MIN INTPTR_MIN -+#define PTRDIFF_MAX INTPTR_MAX -+ -+#define INTMAX_MIN INT64_MIN -+#define INTMAX_MAX INT64_MAX -+#define UINTMAX_MAX UINT64_MAX -+ - #endif /* C++ && limit macros */ - - -Index: include/string.h -=================================================================== -RCS file: /cvs/dietlibc/include/string.h,v -retrieving revision 1.53 -retrieving revision 1.54 -diff -u -r1.53 -r1.54 ---- include/string.h 15 May 2009 03:24:27 -0000 1.53 -+++ include/string.h 1 Aug 2010 19:56:21 -0000 1.54 -@@ -56,7 +56,7 @@ - int strerror_r(int errnum,char* buf,size_t n) __THROW __attribute_dontuse__; - - #ifdef _GNU_SOURCE --const char *strsignal(int signum) __THROW __attribute_const__; -+char *strsignal(int signum) __THROW __attribute_const__; - void *memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen) __THROW __nonnull((1,3)); - - void* mempcpy(void* __restrict__ dest,const void* __restrict__ src,size_t n) __THROW __nonnull((1,2)); -Index: lib/stackgap.c -=================================================================== -RCS file: /cvs/dietlibc/lib/stackgap.c,v -retrieving revision 1.15 -retrieving revision 1.16 -diff -u -r1.15 -r1.16 ---- lib/stackgap.c 2 Jun 2010 20:22:07 -0000 1.15 -+++ lib/stackgap.c 1 Aug 2010 19:56:21 -0000 1.16 -@@ -17,6 +17,11 @@ - #include - #include "dietfeatures.h" - -+#ifdef WANT_GNU_STARTUP_BLOAT -+char* program_invocation_name; -+char* program_invocation_short_name; -+#endif -+ - extern int main(int argc,char* argv[],char* envp[]); - - #if defined(WANT_SSP) -@@ -178,6 +183,14 @@ - __valgrind=(v && strstr(v,"valgrind")); - } - #endif -+#ifdef WANT_GNU_STARTUP_BLOAT -+ program_invocation_name=argv[0]; -+ { -+ char* c; -+ for (c=program_invocation_short_name=program_invocation_name; *c; ++c) -+ if (*c=='/') program_invocation_short_name=c+1; -+ } -+#endif - return main(argc,argv,envp); - } - -Index: libugly/strsignal.c -=================================================================== -RCS file: /cvs/dietlibc/libugly/strsignal.c,v -retrieving revision 1.9 -retrieving revision 1.10 -diff -u -r1.9 -r1.10 ---- libugly/strsignal.c 15 Aug 2006 16:07:15 -0000 1.9 -+++ libugly/strsignal.c 1 Aug 2010 19:56:21 -0000 1.10 -@@ -2,9 +2,9 @@ - #include - #include - --const char* strsignal(int sig) { -+char* strsignal(int sig) { - if ((unsigned int)sig<=SIGRTMAX) -- return sys_siglist[sig]; -+ return (char*)sys_siglist[sig]; - else -- return "(unknown signal)"; -+ return (char*)"(unknown signal)"; - } diff --git a/dietlibc-loop.patch b/dietlibc-loop.patch deleted file mode 100644 index 23a8fdc..0000000 --- a/dietlibc-loop.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- dietlibc-0.32/include/linux/loop.h~ 2003-08-19 18:58:18.000000000 +0200 -+++ dietlibc-0.32/include/linux/loop.h 2011-05-30 16:50:15.748100072 +0200 -@@ -30,6 +30,22 @@ - char reserved[4]; - }; - -+struct loop_info64 { -+ __u64 lo_device; /* ioctl r/o */ -+ __u64 lo_inode; /* ioctl r/o */ -+ __u64 lo_rdevice; /* ioctl r/o */ -+ __u64 lo_offset; -+ __u64 lo_sizelimit;/* bytes, 0 == max available */ -+ __u32 lo_number; /* ioctl r/o */ -+ __u32 lo_encrypt_type; -+ __u32 lo_encrypt_key_size; /* ioctl w/o */ -+ __u32 lo_flags; /* ioctl r/o */ -+ __u8 lo_file_name[LO_NAME_SIZE]; -+ __u8 lo_crypt_name[LO_NAME_SIZE]; -+ __u8 lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */ -+ __u64 lo_init[2]; -+}; -+ - /* Loop filter types */ - #define LO_CRYPT_NONE 0 - #define LO_CRYPT_XOR 1 -@@ -40,6 +40,7 @@ - #define LO_CRYPT_IDEA 6 - #define LO_CRYPT_DUMMY 9 - #define LO_CRYPT_SKIPJACK 10 -+#define LO_CRYPT_CRYPTOAPI 18 - #define MAX_LO_CRYPT 20 - - /* IOCTL commands --- we will commandeer 0x4C ('L') */ -@@ -47,6 +48,12 @@ - #define LOOP_CLR_FD 0x4C01 - #define LOOP_SET_STATUS 0x4C02 - #define LOOP_GET_STATUS 0x4C03 -+#define LOOP_SET_STATUS 0x4C02 -+#define LOOP_GET_STATUS 0x4C03 -+#define LOOP_SET_STATUS64 0x4C04 -+#define LOOP_GET_STATUS64 0x4C05 -+#define LOOP_CHANGE_FD 0x4C06 -+#define LOOP_SET_CAPACITY 0x4C07 - - __END_DECLS - diff --git a/dietlibc.spec b/dietlibc.spec index 450b82e..f75a767 100644 --- a/dietlibc.spec +++ b/dietlibc.spec @@ -1,7 +1,7 @@ # # Conditional build: -%bcond_with ssp # disable stack-smashing protector 'coz dietlibc will not work with it! -%bcond_without dynamic # dynamic lib support +%bcond_without ssp # disable stack-smashing protector 'coz dietlibc will not work with it! +%bcond_with dynamic # dynamic lib support %ifnarch %{ix86} %{x8664} arm %undefine with_dynamic @@ -11,13 +11,13 @@ Summary: C library optimized for size Summary(pl.UTF-8): Biblioteka standardowa C zoptymalizowana na rozmiar Summary(pt_BR.UTF-8): libc pequena otimizada para tamanho Name: dietlibc -Version: 0.32 -Release: 17 +Version: 0.33 +Release: 1 Epoch: 2 License: GPL v2 Group: Development/Libraries -Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%{name}-%{version}.tar.bz2 -# Source0-md5: 0098761c17924c15e21d25acdda4a8b5 +Source0: http://www.fefe.de/dietlibc/%{name}-%{version}.tar.bz2 +# Source0-md5: 9d541b9a6623b04ec12e5248b82db7c0 Patch0: %{name}-ppc.patch Patch1: %{name}-opt.patch Patch2: %{name}-platform.patch @@ -37,12 +37,7 @@ Patch14: umount-arch.patch Patch15: %{name}-memalign.patch Patch16: %{name}-getsubopt.patch Patch17: %{name}-devmacros.patch -Patch18: %{name}-bloat.patch Patch19: %{name}-notify.patch -Patch20: %{name}-loop.patch -# http://svn.exactcode.de/t2/trunk/package/base/dietlibc/fdopendir.patch, needed by util-linux -Patch21: fdopendir.patch -Patch22: faccessat.patch URL: http://www.fefe.de/dietlibc/ BuildRequires: rpmbuild(macros) >= 1.566 BuildRequires: sed >= 4.0 @@ -129,11 +124,7 @@ statyczne. %patch15 -p1 %patch16 -p1 %patch17 -p1 -%patch18 -p0 %patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 %if "%{cc_version}" < "3.4" %{__sed} -i -e '/CFLAGS/ s/-Wextra//' Makefile diff --git a/faccessat.patch b/faccessat.patch deleted file mode 100644 index 5f172dc..0000000 --- a/faccessat.patch +++ /dev/null @@ -1,6 +0,0 @@ ---- /dev/null 2010-10-27 14:43:31.488782000 +0200 -+++ dietlibc/syscalls.s/faccessat.S 2011-01-05 15:37:28.000000000 +0100 -@@ -0,0 +1,3 @@ -+#include "syscalls.h" -+ -+syscall(faccessat,faccessat) diff --git a/fdopendir.patch b/fdopendir.patch deleted file mode 100644 index 28fd4c2..0000000 --- a/fdopendir.patch +++ /dev/null @@ -1,61 +0,0 @@ -# --- T2-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# T2 SDE: package/.../dietlibc/fdopendir.patch -# Copyright (C) 2011 The T2 SDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- T2-COPYRIGHT-NOTE-END --- - -Of course for udev, too, what else, ... - - - Rene Rebe - ---- dietlibc/include/dirent.h.vanilla 2011-01-06 12:29:39.000000000 +0100 -+++ dietlibc/include/dirent.h 2011-01-06 12:30:04.000000000 +0100 -@@ -33,6 +33,7 @@ - typedef struct __dirstream DIR; - - DIR *opendir (const char *__name) __THROW; -+DIR *fdopendir(int fd) __THROW; - int closedir (DIR *__dirp) __THROW; - struct dirent *readdir (DIR *__dirp) __THROW; - struct dirent64 *readdir64 (DIR *__dirp) __THROW; ---- dietlibc/lib/fdopendir.c.vanilla 2011-01-06 12:30:22.000000000 +0100 -+++ dietlibc/lib/fdopendir.c 2011-01-06 12:33:58.000000000 +0100 -@@ -0,0 +1,28 @@ -+#include "dietdirent.h" -+#include -+#include -+#include -+#include -+#include -+ -+DIR* fdopendir (int fd) { -+ DIR* t = NULL; -+ int flags = fcntl (fd, F_GETFL); -+ if (flags == -1 || (flags & O_DIRECTORY) == 0) -+ goto lose; /* TODO: set errno = ENOTDIR; */ -+ -+ if ( fd >= 0 ) { -+ if (fcntl (fd, F_SETFD, FD_CLOEXEC) < 0) -+ goto lose; -+ t = (DIR *) mmap (NULL, PAGE_SIZE, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); -+ if (t == MAP_FAILED) -+lose: -+ close (fd); -+ else -+ t->fd = fd; -+ } -+ -+ -+ return t; -+} diff --git a/umount-arch.patch b/umount-arch.patch index e70c51b..9380db9 100644 --- a/umount-arch.patch +++ b/umount-arch.patch @@ -103,8 +103,8 @@ index f660930..ca00e4d 100644 +++ b/ia64/Makefile.add @@ -1,2 +1,2 @@ VPATH:=ia64:syscalls.s:$(VPATH) --LIBOBJ+=$(OBJDIR)/__time.o $(OBJDIR)/__waitpid.o $(OBJDIR)/__nice.o $(OBJDIR)/__alarm.o -+LIBOBJ+=$(OBJDIR)/__time.o $(OBJDIR)/__waitpid.o $(OBJDIR)/__nice.o $(OBJDIR)/__alarm.o $(OBJDIR)/umount-wrapper.o +-LIBOBJ+=$(OBJDIR)/__time.o $(OBJDIR)/__waitpid.o $(OBJDIR)/__nice.o $(OBJDIR)/__alarm.o $(OBJDIR)/__CAS.o ++LIBOBJ+=$(OBJDIR)/__time.o $(OBJDIR)/__waitpid.o $(OBJDIR)/__nice.o $(OBJDIR)/__alarm.o $(OBJDIR)/__CAS.o $(OBJDIR)/umount-wrapper.o diff --git a/ia64/umount-wrapper.c b/ia64/umount-wrapper.c new file mode 100644 index 0000000..2ebffd6