Skip to content

Commit

Permalink
Merge remote branch 'origin/master' into fedora/master
Browse files Browse the repository at this point in the history
  • Loading branch information
Andreas Schwab committed May 31, 2010
2 parents aa3e9bc + eb5ad2e commit e4f8606
Show file tree
Hide file tree
Showing 17 changed files with 1,018 additions and 17 deletions.
45 changes: 45 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,10 +1,55 @@
2010-05-28 Luis Machado <luisgpm@br.ibm.com>

* sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi.

2010-05-27 Andreas Schwab <schwab@redhat.com>

* elf/Makefile ($(objpfx)tst-tls10): Depend on
$(objpfx)tst-tlsmod7.so.
($(objpfx)tst-tls11): Depend on $(objpfx)tst-tlsmod9.so.
($(objpfx)tst-tls12): Depend on $(objpfx)tst-tlsmod11.so.

2010-05-26 H.J. Lu <hongjiu.lu@intel.com>

[BZ #11640]
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
Properly check family and model.

2010-05-26 Takashi Yoshii <takashi.yoshii.zj@renesas.com>

* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size.

2010-05-24 Luis Machado <luisgpm@br.ibm.com>

* sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix.

2010-05-21 Ulrich Drepper <drepper@redhat.com>

* elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak
symbol reference.

2010-05-19 Andreas Schwab <schwab@redhat.com>

* elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak
symbol reference.

2010-05-21 Andreas Schwab <schwab@redhat.com>

* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
and internal_recvmmsg.
* sysdeps/unix/sysv/linux/recvmmsg.c: New file.
* sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file.
* sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define.
* sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove.

* sunrpc/clnt_tcp.c (clnttcp_control): Add missing break.
* sunrpc/clnt_udp.c (clntudp_control): Likewise.
* sunrpc/clnt_unix.c (clntunix_control): Likewise.

2010-05-20 Andreas Schwab <schwab@redhat.com>

* sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH.

2010-05-17 Luis Machado <luisgpm@br.ibm.com>

POWER7 optimizations.
Expand Down
12 changes: 7 additions & 5 deletions elf/dl-runtime.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* On-demand PLT fixup for shared objects.
Copyright (C) 1995-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Copyright (C) 1995-2009, 2010 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
Expand Down Expand Up @@ -144,7 +144,8 @@ _dl_fixup (
/* And now perhaps the relocation addend. */
value = elf_machine_plt_value (l, reloc, value);

if (__builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0))
if (sym != NULL
&& __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0))
value = ((DL_FIXUP_VALUE_TYPE (*) (void)) DL_FIXUP_VALUE_ADDR (value)) ();

/* Finally, fix up the plt itself. */
Expand Down Expand Up @@ -231,8 +232,9 @@ _dl_profile_fixup (
? LOOKUP_VALUE_ADDRESS (result)
+ defsym->st_value : 0);

if (__builtin_expect (ELFW(ST_TYPE) (defsym->st_info)
== STT_GNU_IFUNC, 0))
if (defsym != NULL
&& __builtin_expect (ELFW(ST_TYPE) (defsym->st_info)
== STT_GNU_IFUNC, 0))
value = ((DL_FIXUP_VALUE_TYPE (*) (void))
DL_FIXUP_VALUE_ADDR (value)) ();
}
Expand Down Expand Up @@ -369,7 +371,7 @@ _dl_profile_fixup (
struct audit_ifaces *afct = GLRO(dl_audit);
for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt)
{
if (afct->ARCH_LA_PLTENTER != NULL
if (afct->ARCH_LA_PLTENTER != NULL
&& (reloc_result->enterexit
& (LA_SYMB_NOPLTENTER << (2 * (cnt + 1)))) == 0)
{
Expand Down
1 change: 1 addition & 0 deletions sunrpc/clnt_tcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@ clnttcp_control (CLIENT *cl, int request, char *info)
/* This will set the xid of the NEXT call */
*(u_long *)ct->ct_mcall = htonl (*(u_long *)info - 1);
/* decrement by 1 as clnttcp_call() increments once */
break;
case CLGET_VERS:
/*
* This RELIES on the information that, in the call body,
Expand Down
1 change: 1 addition & 0 deletions sunrpc/clnt_udp.c
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,7 @@ clntudp_control (CLIENT *cl, int request, char *info)
/* This will set the xid of the NEXT call */
*(u_long *)cu->cu_outbuf = htonl(*(u_long *)info - 1);
/* decrement by 1 as clntudp_call() increments once */
break;
case CLGET_VERS:
/*
* This RELIES on the information that, in the call body,
Expand Down
1 change: 1 addition & 0 deletions sunrpc/clnt_unix.c
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,7 @@ clntunix_control (CLIENT *cl, int request, char *info)
/* This will set the xid of the NEXT call */
*(u_long *) ct->ct_mcall = htonl (*(u_long *)info - 1);
/* decrement by 1 as clntunix_call() increments once */
break;
case CLGET_VERS:
/*
* This RELIES on the information that, in the call body,
Expand Down
4 changes: 2 additions & 2 deletions sysdeps/powerpc/powerpc32/power7/memcpy.S
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ L(copy_GE_32_unaligned):
addi 3,3,8
0:
clrlwi 10,12,28 /* Check alignment of SRC. */
srdi 9,31,4 /* Number of full quadwords remaining. */
srwi 9,31,4 /* Number of full quadwords remaining. */

/* The proper alignment is present, it is OK to copy the bytes now. */
L(copy_GE_32_unaligned_cont):
Expand All @@ -375,7 +375,7 @@ L(copy_GE_32_unaligned_cont):
li 6,16 /* Index for 16-bytes offsets. */
li 7,32 /* Index for 32-bytes offsets. */
cmplwi cr1,11,0
srdi 8,31,5 /* Setup the loop counter. */
srwi 8,31,5 /* Setup the loop counter. */
mr 10,3
mr 11,12
mtcrf 0x01,9
Expand Down
Loading

0 comments on commit e4f8606

Please sign in to comment.