Browse Source

Updated dietlibc (0.30 -> 0.30-7) - changed to use debian patchset and taken maintainship

early
Alejandro Mery 18 years ago
parent
commit
14abca70ac
  1. 23
      base/dietlibc/dietlibc.conf
  2. 8
      base/dietlibc/dietlibc.desc
  3. 531
      base/dietlibc/libm-i386.patch
  4. 33
      base/dietlibc/no-spp.patch
  5. 33
      base/dietlibc/ppc-select.patch
  6. 90
      base/dietlibc/sane-defaults.patch
  7. 34
      base/dietlibc/sparc64-longjmp.patch
  8. 33
      base/dietlibc/x86_64-stat-fix.patch

23
base/dietlibc/dietlibc.conf

@ -1,7 +1,8 @@
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../dietlibc/dietlibc.conf
# Filename: package/.../dietlibc/dietlibc.conf
# Copyright (C) 2007 The OpenSDE Project
# Copyright (C) 2004 - 2006 The T2 SDE Project
# Copyright (C) 1998 - 2004 Clifford Wolf
#
@ -11,9 +12,20 @@
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License. A copy of the
# GNU General Public License can be found in the file COPYING.
# --- T2-COPYRIGHT-NOTE-END ---
var_insert patchfiles ' ' "$confdir/libm.patch.bz2"
# --- SDE-COPYRIGHT-NOTE-END ---
# apply patched from .desc
for x in $( match_source_file -p diff ); do
var_append patchfiles ' ' $x
done
# Apply debian patches (debian/diff/*.diff)
hook_add postpatch 3 'dietlibc_debian_patches'
dietlibc_debian_patches() {
for x in debian/diff/*.diff; do
patch ${patchopt} < $x
done
}
dietlibc_initial_fixup() {
sed -i /WANT_SYSENTER/d dietfeatures.h
@ -118,6 +130,7 @@ if atstage toolchain; then
hook_add postmake 5 'cp -rv include/* $base/build/${SDECFG_ID}${includedir}/'
else
hook_add postpatch 5 'dietlibc_initial_fixup'
[ $toolsdir != tools.cross ] ||
hook_add premake 5 'dietlibc_make_wrappers'

8
base/dietlibc/dietlibc.desc

@ -3,7 +3,7 @@
[COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch.
[COPY]
[COPY] Filename: package/.../dietlibc/dietlibc.desc
[COPY] Copyright (C) 2006 The OpenSDE Project
[COPY] Copyright (C) 2006 - 2007 The OpenSDE Project
[COPY] Copyright (C) 2004 - 2006 The T2 SDE Project
[COPY] Copyright (C) 1998 - 2004 Clifford Wolf
[COPY]
@ -24,7 +24,7 @@
[U] http://www.fefe.de/dietlibc/
[A] Felix von Leitner <felix-dietlibc@fefe.de>
[M] The OpenSDE Community <list@opensde.org>
[M] Alejandro Mery <amery@opensde.org>
[C] base/library
[E] group libc
@ -35,8 +35,8 @@
[L] GPL
[S] Stable
[V] 0.30
[V] 0.30-7
[P] X 01-3-----9 102.000
[D] 2285014446 dietlibc-0.30.tar.bz2 http://www.kernel.org/pub/linux/libs/dietlibc/
#[D] X dietlibc-0.29-2004-12-18.tar.bz2 cvs://:pserver:cvs@cvs.fefe.de:/cvs dietlibc -D 2004-12-18
[D] 1241677160 dietlibc_0.30-7.diff.gz http://ftp.debian.org/debian/pool/main/d/dietlibc/

531
base/dietlibc/libm-i386.patch

@ -1,531 +0,0 @@
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../dietlibc/libm-i386.patch
# Copyright (C) 2006 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 ---
diff -ur dietlibc-0.30/libm/fpmacros.c dietlibc-0.30-libm-i386/libm/fpmacros.c
--- dietlibc-0.30/libm/fpmacros.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/fpmacros.c 2006-06-28 19:51:31.000000000 +0200
@@ -20,6 +20,8 @@
**
***********************************************************************/
+#if ! defined (__i386__) && ! defined (__x86_64__)
+
#include <features.h>
#define _GNU_SOURCE
#include <sys/types.h>
@@ -289,3 +291,4 @@
weak_alias (__isnanl, isnanl);
#endif
+#endif
diff -ur dietlibc-0.30/libm/s_asinh.c dietlibc-0.30-libm-i386/libm/s_asinh.c
--- dietlibc-0.30/libm/s_asinh.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_asinh.c 2006-06-28 20:03:38.000000000 +0200
@@ -38,9 +38,9 @@
huge= 1.00000000000000000000e+300;
#ifdef __STDC__
- double asinh(double x)
+ double __asinh(double x)
#else
- double asinh(x)
+ double __asinh(x)
double x;
#endif
{
@@ -63,3 +63,4 @@
}
if(hx>0) return w; else return -w;
}
+weak_alias (__asinh, asinh)
diff -ur dietlibc-0.30/libm/s_atan.c dietlibc-0.30-libm-i386/libm/s_atan.c
--- dietlibc-0.30/libm/s_atan.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_atan.c 2006-06-28 20:10:26.000000000 +0200
@@ -86,9 +86,9 @@
huge = 1.0e300;
#ifdef __STDC__
- double atan(double x)
+ double __atan(double x)
#else
- double atan(x)
+ double __atan(x)
double x;
#endif
{
@@ -137,3 +137,4 @@
return (hx<0)? -z:z;
}
}
+weak_alias (__atan, atan)
diff -ur dietlibc-0.30/libm/s_cbrt.c dietlibc-0.30-libm-i386/libm/s_cbrt.c
--- dietlibc-0.30/libm/s_cbrt.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_cbrt.c 2006-06-28 20:05:18.000000000 +0200
@@ -40,9 +40,9 @@
G = 3.57142857142857150787e-01; /* 5/14 = 0x3FD6DB6D, 0xB6DB6DB7 */
#ifdef __STDC__
- double cbrt(double x)
+ double __cbrt(double x)
#else
- double cbrt(x)
+ double __cbrt(x)
double x;
#endif
{
@@ -91,3 +91,4 @@
SET_HIGH_WORD(t,high|sign);
return(t);
}
+weak_alias (__cbrt, cbrt)
diff -ur dietlibc-0.30/libm/s_copysign.c dietlibc-0.30-libm-i386/libm/s_copysign.c
--- dietlibc-0.30/libm/s_copysign.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_copysign.c 2006-06-28 20:01:55.000000000 +0200
@@ -24,9 +24,9 @@
#include "math_private.h"
#ifdef __STDC__
- double copysign(double x, double y)
+ double __copysign(double x, double y)
#else
- double copysign(x,y)
+ double __copysign(x,y)
double x,y;
#endif
{
@@ -36,4 +36,4 @@
SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
return x;
}
-
+weak_alias(__copysign, copysign)
diff -ur dietlibc-0.30/libm/s_cos.c dietlibc-0.30-libm-i386/libm/s_cos.c
--- dietlibc-0.30/libm/s_cos.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_cos.c 2006-06-28 20:10:03.000000000 +0200
@@ -49,9 +49,9 @@
#include "math_private.h"
#ifdef __STDC__
- double cos(double x)
+ double __cos(double x)
#else
- double cos(x)
+ double __cos(x)
double x;
#endif
{
@@ -80,3 +80,4 @@
}
}
}
+weak_alias (__cos, cos)
diff -ur dietlibc-0.30/libm/s_expm1.c dietlibc-0.30-libm-i386/libm/s_expm1.c
--- dietlibc-0.30/libm/s_expm1.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_expm1.c 2006-06-28 20:04:13.000000000 +0200
@@ -132,9 +132,9 @@
Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
#ifdef __STDC__
- double expm1(double x)
+ double __expm1(double x)
#else
- double expm1(x)
+ double __expm1(x)
double x;
#endif
{
@@ -227,3 +227,4 @@
}
return y;
}
+weak_alias (__expm1, expm1)
diff -ur dietlibc-0.30/libm/s_fabs.c dietlibc-0.30-libm-i386/libm/s_fabs.c
--- dietlibc-0.30/libm/s_fabs.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_fabs.c 2006-06-28 20:09:37.000000000 +0200
@@ -22,9 +22,9 @@
#include "math_private.h"
#ifdef __STDC__
- double fabs(double x)
+ double __fabs(double x)
#else
- double fabs(x)
+ double __fabs(x)
double x;
#endif
{
@@ -33,3 +33,4 @@
SET_HIGH_WORD(x,high&0x7fffffff);
return x;
}
+weak_alias (__fabs, fabs)
diff -ur dietlibc-0.30/libm/s_floor.c dietlibc-0.30-libm-i386/libm/s_floor.c
--- dietlibc-0.30/libm/s_floor.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_floor.c 2006-06-28 20:09:19.000000000 +0200
@@ -33,9 +33,9 @@
#endif
#ifdef __STDC__
- double floor(double x)
+ double __floor(double x)
#else
- double floor(x)
+ double __floor(x)
double x;
#endif
{
@@ -79,3 +79,4 @@
INSERT_WORDS(x,i0,i1);
return x;
}
+weak_alias (__floor, floor)
diff -ur dietlibc-0.30/libm/s_ilogb.c dietlibc-0.30-libm-i386/libm/s_ilogb.c
--- dietlibc-0.30/libm/s_ilogb.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_ilogb.c 2006-06-28 19:58:36.000000000 +0200
@@ -24,9 +24,9 @@
#include "math_private.h"
#ifdef __STDC__
- int ilogb(double x)
+ int __ilogb(double x)
#else
- int ilogb(x)
+ int __ilogb(x)
double x;
#endif
{
@@ -49,3 +49,4 @@
else if (hx<0x7ff00000) return (hx>>20)-1023;
else return 0x7fffffff;
}
+weak_alias (__ilogb, ilogb)
diff -ur dietlibc-0.30/libm/s_ldexp.c dietlibc-0.30-libm-i386/libm/s_ldexp.c
--- dietlibc-0.30/libm/s_ldexp.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_ldexp.c 2006-06-28 20:06:45.000000000 +0200
@@ -19,9 +19,9 @@
#include <errno.h>
#ifdef __STDC__
- double ldexp(double value, int exp)
+ double __ldexp(double value, int exp)
#else
- double ldexp(value, exp)
+ double __ldexp(value, exp)
double value; int exp;
#endif
{
@@ -30,3 +30,4 @@
if(!finite(value)||value==0.0) errno = ERANGE;
return value;
}
+weak_alias (__ldexp, ldexp)
diff -ur dietlibc-0.30/libm/s_log1p.c dietlibc-0.30-libm-i386/libm/s_log1p.c
--- dietlibc-0.30/libm/s_log1p.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_log1p.c 2006-06-28 20:06:16.000000000 +0200
@@ -105,9 +105,9 @@
#endif
#ifdef __STDC__
- double log1p(double x)
+ double __log1p(double x)
#else
- double log1p(x)
+ double __log1p(x)
double x;
#endif
{
@@ -172,3 +172,4 @@
if(k==0) return f-(hfsq-s*(hfsq+R)); else
return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
}
+weak_alias (__log1p, log1p)
diff -ur dietlibc-0.30/libm/s_logb.c dietlibc-0.30-libm-i386/libm/s_logb.c
--- dietlibc-0.30/libm/s_logb.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_logb.c 2006-06-28 19:59:16.000000000 +0200
@@ -24,9 +24,9 @@
#include "math_private.h"
#ifdef __STDC__
- double logb(double x)
+ double __logb(double x)
#else
- double logb(x)
+ double __logb(x)
double x;
#endif
{
@@ -40,3 +40,4 @@
else
return (double) (ix-1023);
}
+weak_alias (__logb, logb)
diff -ur dietlibc-0.30/libm/s_sin.c dietlibc-0.30-libm-i386/libm/s_sin.c
--- dietlibc-0.30/libm/s_sin.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_sin.c 2006-06-28 20:07:36.000000000 +0200
@@ -49,9 +49,9 @@
#include "math_private.h"
#ifdef __STDC__
- double sin(double x)
+ double __sin(double x)
#else
- double sin(x)
+ double __sin(x)
double x;
#endif
{
@@ -80,3 +80,4 @@
}
}
}
+weak_alias (__sin, sin)
diff -ur dietlibc-0.30/libm/s_tan.c dietlibc-0.30-libm-i386/libm/s_tan.c
--- dietlibc-0.30/libm/s_tan.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/s_tan.c 2006-06-28 19:57:55.000000000 +0200
@@ -48,9 +48,9 @@
#include "math_private.h"
#ifdef __STDC__
- double tan(double x)
+ double __tan(double x)
#else
- double tan(x)
+ double __tan(x)
double x;
#endif
{
@@ -74,3 +74,4 @@
-1 -- n odd */
}
}
+weak_alias (__tan, tan)
diff -ur dietlibc-0.30/libm/w_acos.c dietlibc-0.30-libm-i386/libm/w_acos.c
--- dietlibc-0.30/libm/w_acos.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_acos.c 2006-06-28 20:10:58.000000000 +0200
@@ -23,9 +23,9 @@
#ifdef __STDC__
- double acos(double x) /* wrapper acos */
+ double __acos(double x) /* wrapper acos */
#else
- double acos(x) /* wrapper acos */
+ double __acos(x) /* wrapper acos */
double x;
#endif
{
@@ -41,3 +41,4 @@
return z;
#endif
}
+weak_alias (__acos, acos)
diff -ur dietlibc-0.30/libm/w_acosh.c dietlibc-0.30-libm-i386/libm/w_acosh.c
--- dietlibc-0.30/libm/w_acosh.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_acosh.c 2006-06-28 20:02:44.000000000 +0200
@@ -22,9 +22,9 @@
#include "math_private.h"
#ifdef __STDC__
- double acosh(double x) /* wrapper acosh */
+ double __acosh(double x) /* wrapper acosh */
#else
- double acosh(x) /* wrapper acosh */
+ double __acosh(x) /* wrapper acosh */
double x;
#endif
{
@@ -40,3 +40,4 @@
return z;
#endif
}
+weak_alias (__acosh, acosh)
diff -ur dietlibc-0.30/libm/w_asin.c dietlibc-0.30-libm-i386/libm/w_asin.c
--- dietlibc-0.30/libm/w_asin.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_asin.c 2006-06-28 20:03:08.000000000 +0200
@@ -24,9 +24,9 @@
#ifdef __STDC__
- double asin(double x) /* wrapper asin */
+ double __asin(double x) /* wrapper asin */
#else
- double asin(x) /* wrapper asin */
+ double __asin(x) /* wrapper asin */
double x;
#endif
{
@@ -42,3 +42,4 @@
return z;
#endif
}
+weak_alias (__asin, asin)
diff -ur dietlibc-0.30/libm/w_atan2.c dietlibc-0.30-libm-i386/libm/w_atan2.c
--- dietlibc-0.30/libm/w_atan2.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_atan2.c 2006-06-28 19:57:11.000000000 +0200
@@ -22,9 +22,9 @@
#ifdef __STDC__
- double atan2(double y, double x) /* wrapper atan2 */
+ double __atan2(double y, double x) /* wrapper atan2 */
#else
- double atan2(y,x) /* wrapper atan2 */
+ double __atan2(y,x) /* wrapper atan2 */
double y,x;
#endif
{
@@ -40,3 +40,4 @@
return z;
#endif
}
+weak_alias (__atan2, atan2)
diff -ur dietlibc-0.30/libm/w_atanh.c dietlibc-0.30-libm-i386/libm/w_atanh.c
--- dietlibc-0.30/libm/w_atanh.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_atanh.c 2006-06-28 20:02:23.000000000 +0200
@@ -23,9 +23,9 @@
#ifdef __STDC__
- double atanh(double x) /* wrapper atanh */
+ double __atanh(double x) /* wrapper atanh */
#else
- double atanh(x) /* wrapper atanh */
+ double __atanh(x) /* wrapper atanh */
double x;
#endif
{
@@ -45,3 +45,4 @@
return z;
#endif
}
+weak_alias (__atanh, atanh)
diff -ur dietlibc-0.30/libm/w_drem.c dietlibc-0.30-libm-i386/libm/w_drem.c
--- dietlibc-0.30/libm/w_drem.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_drem.c 2006-06-28 20:01:26.000000000 +0200
@@ -6,10 +6,10 @@
*/
#include <math.h>
+#include "math_private.h"
-double
-drem(x, y)
- double x, y;
+double __drem(double x, double y)
{
return remainder(x, y);
}
+weak_alias (__drem, drem)
diff -ur dietlibc-0.30/libm/w_fmod.c dietlibc-0.30-libm-i386/libm/w_fmod.c
--- dietlibc-0.30/libm/w_fmod.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_fmod.c 2006-06-28 20:05:43.000000000 +0200
@@ -23,9 +23,9 @@
#ifdef __STDC__
- double fmod(double x, double y) /* wrapper fmod */
+ double __fmod(double x, double y) /* wrapper fmod */
#else
- double fmod(x,y) /* wrapper fmod */
+ double __fmod(x,y) /* wrapper fmod */
double x,y;
#endif
{
@@ -41,3 +41,4 @@
return z;
#endif
}
+weak_alias (__fmod, fmod)
diff -ur dietlibc-0.30/libm/w_hypot.c dietlibc-0.30-libm-i386/libm/w_hypot.c
--- dietlibc-0.30/libm/w_hypot.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_hypot.c 2006-06-28 20:08:54.000000000 +0200
@@ -23,9 +23,9 @@
#ifdef __STDC__
- double hypot(double x, double y)/* wrapper hypot */
+ double __hypot(double x, double y)/* wrapper hypot */
#else
- double hypot(x,y) /* wrapper hypot */
+ double __hypot(x,y) /* wrapper hypot */
double x,y;
#endif
{
@@ -41,3 +41,4 @@
return z;
#endif
}
+weak_alias (__hypot, hypot)
diff -ur dietlibc-0.30/libm/w_log.c dietlibc-0.30-libm-i386/libm/w_log.c
--- dietlibc-0.30/libm/w_log.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_log.c 2006-06-28 20:08:32.000000000 +0200
@@ -23,9 +23,9 @@
#ifdef __STDC__
- double log(double x) /* wrapper log */
+ double __log(double x) /* wrapper log */
#else
- double log(x) /* wrapper log */
+ double __log(x) /* wrapper log */
double x;
#endif
{
@@ -41,3 +41,4 @@
return __kernel_standard(x,x,17); /* log(x<0) */
#endif
}
+weak_alias (__log, log)
diff -ur dietlibc-0.30/libm/w_log10.c dietlibc-0.30-libm-i386/libm/w_log10.c
--- dietlibc-0.30/libm/w_log10.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_log10.c 2006-06-28 20:08:11.000000000 +0200
@@ -23,9 +23,9 @@
#ifdef __STDC__
- double log10(double x) /* wrapper log10 */
+ double __log10(double x) /* wrapper log10 */
#else
- double log10(x) /* wrapper log10 */
+ double __log10(x) /* wrapper log10 */
double x;
#endif
{
@@ -44,3 +44,4 @@
return z;
#endif
}
+weak_alias (__log10, log10)
diff -ur dietlibc-0.30/libm/w_sqrt.c dietlibc-0.30-libm-i386/libm/w_sqrt.c
--- dietlibc-0.30/libm/w_sqrt.c 2006-06-28 20:15:02.000000000 +0200
+++ dietlibc-0.30-libm-i386/libm/w_sqrt.c 2006-06-28 20:07:09.000000000 +0200
@@ -22,9 +22,9 @@
#include "math_private.h"
#ifdef __STDC__
- double sqrt(double x) /* wrapper sqrt */
+ double __sqrt(double x) /* wrapper sqrt */
#else
- double sqrt(x) /* wrapper sqrt */
+ double __sqrt(x) /* wrapper sqrt */
double x;
#endif
{
@@ -40,3 +40,4 @@
return z;
#endif
}
+weak_alias (__sqrt, sqrt)

33
base/dietlibc/no-spp.patch

@ -1,33 +0,0 @@
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../dietlibc/no-spp.patch
# Copyright (C) 2006 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 ---
The dynamic flavour does not built for us due undefined __guard, but since
we do not care for the size optimized binaries we do just do not enable it
automatically for now.
- Rene Rebe <rene@exactcode.de>
--- dietlibc-0.30/dietfeatures.h 2006-04-04 07:35:14.000000000 +0200
+++ dietlibc-0.30-fixed/dietfeatures.h 2006-06-30 15:38:05.000000000 +0200
@@ -108,7 +107,7 @@
* WANT_SSP_URANDOM and then not using -fstack-protector enlarges a
* binary by 152 bytes. */
#if (__GNUC__>4) || ((__GNUC__==4) && (__GNUC_MINOR__>=1))
-#define WANT_SSP
+//#define WANT_SSP
#endif
/* Choose which canary seeder you want you can choose
* both but it will check urandom first and use xor as

33
base/dietlibc/ppc-select.patch

@ -1,33 +0,0 @@
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../dietlibc/ppc-select.patch
# Copyright (C) 2006 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 ---
We must not use the old select syscall ...
- Rene Rebe <rene@exactcode.de>
--- /dev/null 2006-01-03 10:10:10.127999000 +0100
+++ dietlibc-0.29/ppc/select.S 2006-01-03 11:20:43.000000000 +0100
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(_newselect,select)
--- /dev/null 2006-01-03 10:10:10.127999000 +0100
+++ dietlibc-0.29/ppc64/select.S 2006-01-03 11:16:50.000000000 +0100
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(_newselect,select)

90
base/dietlibc/sane-defaults.patch

@ -1,90 +0,0 @@
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../dietlibc/sane-defaults.patch
# Copyright (C) 2004 - 2006 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 ---
For certain architectures we need to mangle the opts to get working binaries.
This is for example the case on mips, where we need -mnoabi-calls if we
do not want get segfaults ... Alternatively instead of injecting the generic
-Os battery of options we could define fine-grained injections in our build
system but I find working with up-stream people and those defaults might be
the better choice.
- Rene Rebe <rene@exactcode.de>
--- dietlibc-0.29/diet.c 2005-05-18 14:38:55.000000000 +0000
+++ dietlibc-0.29-improved/diet.c 2005-11-27 15:11:24.000000000 +0000
@@ -33,8 +33,8 @@
"sparc64","-Os","-m64","-mhard-quad-float",0,
"alpha","-Os","-fomit-frame-pointer",0,
"arm","-Os","-fomit-frame-pointer",0,
- "mips","-Os","-fomit-frame-pointer","-mno-abicalls","-fno-pic","-G","0",0,
- "mipsel","-Os","-fomit-frame-pointer","-mno-abicalls","-fno-pic","-G","0",0,
+ "mips","-Os","-fomit-frame-pointer","-G","0",0,
+ "mipsel","-Os","-fomit-frame-pointer","-G","0",0,
"ppc","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0,
"ppc64","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0,
"s390","-Os","-fomit-frame-pointer",0,
@@ -44,6 +44,13 @@
"x86_64","-Os","-fstrict-aliasing","-momit-leaf-frame-pointer","-mfancy-math-387",0,
0};
+static const char* Opts[] = {
+ "mips", "-mno-abicalls","-fno-pic",0,
+ "mipsel", "-mno-abicalls","-fno-pic",0,
+ "sparc64", "-m64","-mhard-quad-float",0,
+ 0
+};
+
static void usage(void) {
__write2(
#ifdef __DYN_LIB
@@ -77,6 +83,7 @@
#endif
const char *nostdlib="-nostdlib";
const char *libgcc="-lgcc";
+ const char **o;
char dashL[1000];
char dashstatic[]="-static";
int i;
@@ -333,8 +340,21 @@
}
#endif
*dest++="-D__dietlibc__";
+ /* strictly needed opts */
+ for (o=Opts;*o;++o) {
+ if (!strcmp(*o,shortplatform)) {
+ ++o;
+ while (*o) {
+ *dest++=(char*)*o;
+ ++o;
+ }
+ break;
+ } else
+ while (*o) ++o;
+ }
+
if (mangleopts) {
- const char **o=Os;
+ o=Os;
{
int fd;
--- dietlibc-0.30/sparc64/Makefile.add 2004-03-25 21:11:00.000000000 +0000
+++ dietlibc-0.30-patch/sparc64/Makefile.add 2006-07-31 10:12:05.000000000 +0000
@@ -1,3 +1,3 @@
-CFLAGS+=-m64 -Os
+CFLAGS+=-m64 -Os -mhard-quad-float
VPATH:=sparc64:syscalls.s:$(VPATH)
LIBOBJ+=$(patsubst %,$(OBJDIR)/%,__time.o)

34
base/dietlibc/sparc64-longjmp.patch

@ -1,34 +0,0 @@
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../dietlibc/sparc64-longjmp.patch
# Copyright (C) 2006 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 ---
This fixes the sparc64 longjmp to inject the return value at the correct
memory location (and not SIGBUS). MC_G1 is just the index in the register
array, and before that array there are 4 more words placed, thus the offset
4 and multiple with the word-size ...
- Rene Rebe <rene@exactcode.de>
--- dietlibc-0.29/sparc64/longjmp.S 2002-09-16 11:17:02.000000000 +0000
+++ dietlibc-0.29-fixed/sparc64/longjmp.S 2006-06-21 15:00:15.000000000 +0000
@@ -11,7 +11,7 @@
.type __libc_longjmp,function
__libc_longjmp:
movrz %o1, 1, %o1 /* never return 0 in setjmp */
- stx %o1, [ %o0+MC_G1 ] /* save return value in context */
+ stx %o1, [%o0 + (4+MC_G1) * 8] /* save return value in context */
ld [ %o0+FLAG_SAVEMASK ], %o1 /* has setjmp saved the signalmask ? */
ta 0x6f /* setcontext / restore context */
.size __libc_longjmp,.-__libc_longjmp

33
base/dietlibc/x86_64-stat-fix.patch

@ -1,33 +0,0 @@
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../dietlibc/x86_64-stat-fix.patch
# Copyright (C) 2004 - 2006 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 ---
diff -Naur dietlibc_cvs-orig/include/sys/stat.h dietlibc_cvs/include/sys/stat.h
--- dietlibc_cvs-orig/include/sys/stat.h 2005-03-15 10:51:22.000000000 +0200
+++ dietlibc_cvs/include/sys/stat.h 2005-04-30 18:50:40.000000000 +0300
@@ -520,11 +520,11 @@
unsigned long st_size;
unsigned long st_blksize;
unsigned long st_blocks;
- unsigned long st_atime;
+ signed long st_atime;
unsigned long __reserved0;
- unsigned long st_mtime;
+ signed long st_mtime;
unsigned long __reserved1;
- unsigned long st_ctime;
+ signed long st_ctime;
unsigned long __reserved2;
long __unused[3];
};
Loading…
Cancel
Save