glibc: update to 2.16.0
This commit is contained in:
parent
c0dcc2b3e8
commit
d16a2ba7d6
1974
glibc/.footprint
1974
glibc/.footprint
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,8 @@
|
||||
6c8b3f5c56d80eba760cc896e7462b0e Optimize-__getpagesize-a-bit.patch
|
||||
e0043f4f8e1aa61acc62fdf0f4d6133d glibc-2.12.2.tar.xz
|
||||
6144e4b4074fc01deea1549de4920df1 glibc-fedora_i686.patch
|
||||
e9da82fa084dff26de7c484ce0c89a9a glibc-ignore_origin.patch
|
||||
80b181b02ab249524ec92822c0174cf7 glibc-2.16.0.tar.xz
|
||||
7e6a5a13c37f93213db9803d9790b7de glibc-resolv_assert.patch
|
||||
96156bec8e05de67384dc93e72bdc313 host.conf
|
||||
fbbc215a9b15ba4846f326cc88108057 hosts
|
||||
34fe6c5433cd6cda30123b7bb73ef378 kernel-headers-2.6.35.tar.xz
|
||||
35fdea271c1c6a870fb48f56ab603bf0 kernel-headers-3.4.7.tar.xz
|
||||
f7fefce570a3c776e26e778c5e401490 ld.so.conf
|
||||
75931315bf9bc9be15a5e25e4ddd5f0d nsswitch.conf
|
||||
acf9daad1ee85de5efd3543965596a63 resolv.conf
|
||||
|
@ -3,24 +3,20 @@
|
||||
# Maintainer: CRUX System Team, core-ports at crux dot nu
|
||||
|
||||
name=glibc
|
||||
version=2.12.2
|
||||
release=2
|
||||
source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz
|
||||
http://crux.nu/files/distfiles/kernel-headers-2.6.35.tar.xz
|
||||
glibc-fedora_i686.patch
|
||||
glibc-ignore_origin.patch
|
||||
Optimize-__getpagesize-a-bit.patch
|
||||
hosts resolv.conf nsswitch.conf host.conf ld.so.conf)
|
||||
version=2.16.0
|
||||
release=1
|
||||
source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz \
|
||||
http://crux.nu/files/distfiles/kernel-headers-3.4.7.tar.xz \
|
||||
hosts resolv.conf nsswitch.conf host.conf ld.so.conf \
|
||||
$name-resolv_assert.patch)
|
||||
|
||||
build() {
|
||||
# install kernel headers
|
||||
mkdir $PKG/usr/
|
||||
cp -r kernel-headers-2.6.35/include $PKG/usr
|
||||
cp -r kernel-headers-3.4.7/include $PKG/usr
|
||||
chown root:root $PKG/usr
|
||||
|
||||
patch -p1 -d $name-$version -i $SRC/$name-fedora_i686.patch
|
||||
patch -R -p1 -d $name-$version -i $SRC/Optimize-__getpagesize-a-bit.patch
|
||||
patch -p1 -d $name-$version -i $SRC/$name-ignore_origin.patch
|
||||
patch -p1 -d $name-$version -i $SRC/$name-resolv_assert.patch
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
@ -28,10 +24,11 @@ build() {
|
||||
--libexecdir=/usr/lib \
|
||||
--with-headers=$PKG/usr/include \
|
||||
--with-tls \
|
||||
--enable-kernel=2.6.27 \
|
||||
--enable-kernel=2.6.39 \
|
||||
--enable-add-ons \
|
||||
--disable-profile \
|
||||
--without-gd
|
||||
--without-gd \
|
||||
--enable-obsolete-rpc
|
||||
make
|
||||
#make check
|
||||
make install_root=$PKG install
|
||||
@ -41,5 +38,7 @@ build() {
|
||||
mkdir -p $PKG/etc/ld.so.conf.d $PKG/usr/lib/locale
|
||||
touch $PKG/etc/ld.so.cache
|
||||
|
||||
rm -rf $PKG/usr/share/{info,locale}
|
||||
rm -rf $PKG/usr/share/{info,locale} \
|
||||
$PKG/usr/bin/tzselect \
|
||||
$PKG/usr/sbin/z{dump,ic}
|
||||
}
|
||||
|
61
glibc/glibc-resolv_assert.patch
Normal file
61
glibc/glibc-resolv_assert.patch
Normal file
@ -0,0 +1,61 @@
|
||||
# http://sourceware.org/bugzilla/show_bug.cgi?id=13013
|
||||
|
||||
2011-07-21 Aurelien Jarno <aurel32@debian.org>
|
||||
|
||||
* resolv/res_query.c(__libc_res_nquery): Assign hp and hp2
|
||||
depending n and resplen2 to catch cases where answer
|
||||
equals answerp2.
|
||||
|
||||
diff --git a/resolv/res_query.c b/resolv/res_query.c
|
||||
index 2f7cfaa..405fa68 100644
|
||||
--- a/resolv/res_query.c
|
||||
+++ b/resolv/res_query.c
|
||||
@@ -122,6 +122,7 @@ __libc_res_nquery(res_state statp,
|
||||
int *resplen2)
|
||||
{
|
||||
HEADER *hp = (HEADER *) answer;
|
||||
+ HEADER *hp2;
|
||||
int n, use_malloc = 0;
|
||||
u_int oflags = statp->_flags;
|
||||
|
||||
@@ -239,26 +240,25 @@ __libc_res_nquery(res_state statp,
|
||||
/* __libc_res_nsend might have reallocated the buffer. */
|
||||
hp = (HEADER *) *answerp;
|
||||
|
||||
- /* We simplify the following tests by assigning HP to HP2. It
|
||||
- is easy to verify that this is the same as ignoring all
|
||||
- tests of HP2. */
|
||||
- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
|
||||
-
|
||||
- if (n < (int) sizeof (HEADER) && answerp2 != NULL
|
||||
- && *resplen2 > (int) sizeof (HEADER))
|
||||
+ /* We simplify the following tests by assigning HP to HP2 or
|
||||
+ vice versa. It is easy to verify that this is the same as
|
||||
+ ignoring all tests of HP or HP2. */
|
||||
+ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
|
||||
{
|
||||
- /* Special case of partial answer. */
|
||||
- assert (hp != hp2);
|
||||
- hp = hp2;
|
||||
+ hp2 = hp;
|
||||
}
|
||||
- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
|
||||
- && n > (int) sizeof (HEADER))
|
||||
+ else
|
||||
{
|
||||
- /* Special case of partial answer. */
|
||||
- assert (hp != hp2);
|
||||
- hp2 = hp;
|
||||
+ hp2 = (HEADER *) *answerp2;
|
||||
+ if (n < (int) sizeof (HEADER))
|
||||
+ {
|
||||
+ hp = hp2;
|
||||
+ }
|
||||
}
|
||||
|
||||
+ /* Make sure both hp and hp2 are defined */
|
||||
+ assert((hp != NULL) && (hp2 != NULL));
|
||||
+
|
||||
if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
|
||||
&& (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
|
||||
#ifdef DEBUG
|
Loading…
x
Reference in New Issue
Block a user