+2006-09-04 Jakub Jelinek <jakub@redhat.com>
+
+ * Makerules (shlib.lds): If have-hash-style, put .hash section
+ at the end of the RO segment.
+
+2006-09-04 Ulrich Drepper <drepper@redhat.com>
+
+ * elf/do-lookup.h (do_lookup_x): Initialize symidx in case the new
+ style hash table format is used.
+
+2006-09-04 Jakub Jelinek <jakub@redhat.com>
+
+ * resolv/res_mkquery.c (res_nmkquery): Set hp->id to statp->id after
+ randomization rather than before.
+ * resolv/res_init.c (res_randomid): Don't call gettimeofday here.
+
2006-08-31 Jakub Jelinek <jakub@redhat.com>
* dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Add
-Wl,--verbose 2>&1 | \
sed > $@T \
-e '/^=========/,/^=========/!d;/^=========/d' \
- -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+ $(if $(filter yes,$(have-hash-style)), \
+ -e 's/^.*\.gnu\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+ -e '/^[ ]*\.hash[ ]*:.*$$/{h;d;}' \
+ -e '/DATA_SEGMENT_ALIGN/{H;g}' \
+ , \
+ -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+ ) \
-e 's/^.*\*(\.dynbss).*$$/& \
PROVIDE(__start___libc_freeres_ptrs = .); \
*(__libc_freeres_ptrs) \
-%define glibcrelease 28
+%define glibcrelease 29
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define xenarches i686 athlon
%ifarch %{xenarches}
# For initial glibc bootstraps it can be commented out
BuildPreReq: gd-devel libpng-devel zlib-devel texinfo, libselinux-devel >= 1.17.10-1
BuildPreReq: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext
-BuildPreReq: /bin/ps, /bin/kill
+BuildPreReq: /bin/ps, /bin/kill, /bin/awk
# This is to ensure that __frame_state_for is exported by glibc
# will be compatible with egcs 1.x.y
BuildPreReq: gcc >= 3.2
cd build-%{nptl_target_cpu}-linuxnptl
( make %{?_smp_mflags} -k check PARALLELMFLAGS=-s 2>&1
sleep 10s
- teepid="`ps -eo ppid,pid,command | grep ^${parent}'[ ]\+[0-9]\+[ ]\+tee' | cut -d' ' -f2`"
+ teepid="`ps -eo ppid,pid,command | awk '($1 == '${parent}' && $3 ~ /^tee/) { print $2 }'`"
[ -n "$teepid" ] && kill $teepid
) | tee check.log || :
cd ..
cd build-%{nptl_target_cpu}-linuxnptl-nosegneg
( make -j$numprocs -k check PARALLELMFLAGS=-s 2>&1
sleep 10s
- teepid="`ps -eo ppid,pid,command | grep ^${parent}'[ ]\+[0-9]\+[ ]\+tee' | cut -d' ' -f2`"
+ teepid="`ps -eo ppid,pid,command | awk '($1 == '${parent}' && $3 ~ /^tee/) { print $2 }'`"
[ -n "$teepid" ] && kill $teepid
) | tee check.log || :
cd ..
%endif
%changelog
+* Tue Sep 5 2006 Jakub Jelinek <jakub@redhat.com> 2.4.90-29
+- randomize resolver query ids before use instead after use (#205113)
+- fix resolver symver checking with DT_GNU_HASH (#204909)
+- put .hash section in glibc libraries at the end of RO segment
+ when .gnu.hash is present
+
* Thu Aug 31 2006 Jakub Jelinek <jakub@redhat.com> 2.4.90-28
- another malloc doubly linked list corruption problem fix (#204653)
* Thu Aug 31 2006 Jakub Jelinek <jakub@redhat.com> 2.4.90-27
- allow $LIB and $PLATFORM in dlopen parameters even in suid/sgid (#204399)
+- handle $LIB/$PLATFORM in LD_LIBRARY_PATH
- fix splice prototype (#204530)
-- fix pthread_rwlock_{,try,timed}wrlock to honor reader preference
- if requested
* Mon Aug 28 2006 Jakub Jelinek <jakub@redhat.com> 2.4.90-26
- real fix for the doubly linked list corruption problem
incremented by one after the initial randomization which
still predictable if the application does multiple
requests. */
-#if 0
- hp->id = htons(++statp->id);
-#else
- hp->id = htons(statp->id);
int randombits;
do
{
-# ifdef RANDOM_BITS
+#ifdef RANDOM_BITS
RANDOM_BITS (randombits);
-# else
+#else
struct timeval tv;
__gettimeofday (&tv, NULL);
randombits = (tv.tv_sec << 8) ^ tv.tv_usec;
-# endif
+#endif
}
while ((randombits & 0xffff) == 0);
statp->id = (statp->id + randombits) & 0xffff;
-#endif
+ hp->id = statp->id;
hp->opcode = op;
hp->rd = (statp->options & RES_RECURSE) != 0;
hp->rcode = NOERROR;