aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog40
-rw-r--r--NEWS2
-rw-r--r--sysdeps/generic/profil-counter.h2
-rw-r--r--sysdeps/posix/profil.c4
-rw-r--r--sysdeps/posix/sprofil.c12
-rw-r--r--sysdeps/unix/sysv/linux/arm/profil-counter.h5
-rw-r--r--sysdeps/unix/sysv/linux/hppa/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/i386/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/sh/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h5
-rw-r--r--sysdeps/unix/sysv/linux/tile/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/profil-counter.h2
16 files changed, 70 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 2fc8cde..7bfd1c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,45 @@
2014-12-17 Joseph Myers <joseph@codesourcery.com>
+ [BZ #17725]
+ * sysdeps/generic/profil-counter.h (profil_counter): Rename to
+ __profil_counter.
+ * sysdeps/unix/sysv/linux/hppa/profil-counter.h (profil_counter):
+ Likewise.
+ * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter):
+ Likewise.
+ * sysdeps/unix/sysv/linux/ia64/profil-counter.h (profil_counter):
+ Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
+ (profil_counter): Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h
+ (profil_counter): Likewise.
+ * sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter):
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/profil-counter.h (profil_counter):
+ Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/profil-counter.h
+ (profil_counter): Likewise.
+ * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter):
+ Likewise.
+ [!__profil_counter] (profil_counter): Define as weak alias of
+ __profil_counter.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h
+ (profil_counter): Rename to __profil_counter.
+ [!__profil_counter] (profil_counter): Define as weak alias of
+ __profil_counter.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
+ (profil_counter): Rename to __profil_counter.
+ [!__profil_counter] (profil_counter): Define as weak alias of
+ __profil_counter.
+ * sysdeps/posix/profil.c: Update comment referring to
+ profil_counter.
+ (__profil): Use __profil_counter instead of profil_counter.
+ * sysdeps/posix/sprofil.c (profil_counter): Rename to
+ __profil_counter. Use __profil_counter_ushort and
+ __profil_counter_uint in definitions.
+ (__sprofil): Use __profil_counter_uint and __profil_counter_ushort
+ instead of profil_counter_uint and profil_counter_ushort.
+
[BZ #17722]
* inet/inet_mkadr.c (inet_makeaddr): Rename to __inet_makeaddr and
define as weak alias of __inet_makeaddr.
diff --git a/NEWS b/NEWS
index d4ccd37..05b398e 100644
--- a/NEWS
+++ b/NEWS
@@ -15,7 +15,7 @@ Version 2.21
17522, 17555, 17570, 17571, 17572, 17573, 17574, 17581, 17582, 17583,
17584, 17585, 17589, 17594, 17601, 17608, 17616, 17625, 17630, 17633,
17634, 17647, 17653, 17657, 17664, 17665, 17668, 17682, 17717, 17719,
- 17722.
+ 17722, 17725.
* CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
under certain input conditions resulting in the execution of a shell for
diff --git a/sysdeps/generic/profil-counter.h b/sysdeps/generic/profil-counter.h
index 4ff9b49..52800c8 100644
--- a/sysdeps/generic/profil-counter.h
+++ b/sysdeps/generic/profil-counter.h
@@ -20,7 +20,7 @@
and the interrupted PC is easily findable in the `struct sigcontext'. */
static void
-profil_counter (int signr, int code, struct sigcontext *scp)
+__profil_counter (int signr, int code, struct sigcontext *scp)
{
profil_count ((void *) scp->sc_pc);
}
diff --git a/sysdeps/posix/profil.c b/sysdeps/posix/profil.c
index 54ace22..7128cb7 100644
--- a/sysdeps/posix/profil.c
+++ b/sysdeps/posix/profil.c
@@ -48,7 +48,7 @@ profil_count (void *pc)
++samples[i];
}
-/* Get the machine-dependent definition of `profil_counter', the signal
+/* Get the machine-dependent definition of `__profil_counter', the signal
handler for SIGPROF. It calls `profil_count' (above) with the PC of the
interrupted code. */
#include "profil-counter.h"
@@ -103,7 +103,7 @@ __profil (u_short *sample_buffer, size_t size, size_t offset, u_int scale)
pc_offset = offset;
pc_scale = scale;
- act.sa_handler = (sighandler_t) &profil_counter;
+ act.sa_handler = (sighandler_t) &__profil_counter;
act.sa_flags = SA_RESTART;
__sigfillset (&act.sa_mask);
if (__sigaction (SIGPROF, &act, oact_ptr) < 0)
diff --git a/sysdeps/posix/sprofil.c b/sysdeps/posix/sprofil.c
index 0e19d16..e2b7a49 100644
--- a/sysdeps/posix/sprofil.c
+++ b/sysdeps/posix/sprofil.c
@@ -175,17 +175,17 @@ profil_count_uint (void *pcp)
profil_count (pcp, 1);
}
-/* Get the machine-dependent definition of `profil_counter', the signal
+/* Get the machine-dependent definition of `__profil_counter', the signal
handler for SIGPROF. It calls `profil_count' (above) with the PC of the
interrupted code. */
-#define profil_counter profil_counter_ushort
+#define __profil_counter __profil_counter_ushort
#define profil_count(pc) profil_count (pc, 0)
#include <profil-counter.h>
-#undef profil_counter
+#undef __profil_counter
#undef profil_count
-#define profil_counter profil_counter_uint
+#define __profil_counter __profil_counter_uint
#define profil_count(pc) profil_count (pc, 1)
#include <profil-counter.h>
@@ -334,9 +334,9 @@ __sprofil (struct prof *profp, int profcnt, struct timeval *tvp,
/* Install SIGPROF handler. */
if (flags & PROF_UINT)
- act.sa_handler = (sighandler_t) &profil_counter_uint;
+ act.sa_handler = (sighandler_t) &__profil_counter_uint;
else
- act.sa_handler = (sighandler_t) &profil_counter_ushort;
+ act.sa_handler = (sighandler_t) &__profil_counter_ushort;
act.sa_flags = SA_RESTART;
__sigfillset (&act.sa_mask);
if (__sigaction (SIGPROF, &act, &prof_info.saved_action) < 0)
diff --git a/sysdeps/unix/sysv/linux/arm/profil-counter.h b/sysdeps/unix/sysv/linux/arm/profil-counter.h
index ddf4d41..908bd6e 100644
--- a/sysdeps/unix/sysv/linux/arm/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/arm/profil-counter.h
@@ -20,7 +20,7 @@
#include <sigcontextinfo.h>
void
-profil_counter (int signo, const SIGCONTEXT scp)
+__profil_counter (int signo, const SIGCONTEXT scp)
{
profil_count ((void *) GET_PC (scp));
@@ -29,3 +29,6 @@ profil_counter (int signo, const SIGCONTEXT scp)
the signal context. */
asm volatile ("");
}
+#ifndef __profil_counter
+weak_alias (__profil_counter, profil_counter)
+#endif
diff --git a/sysdeps/unix/sysv/linux/hppa/profil-counter.h b/sysdeps/unix/sysv/linux/hppa/profil-counter.h
index 1561672..85c4712 100644
--- a/sysdeps/unix/sysv/linux/hppa/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/hppa/profil-counter.h
@@ -17,7 +17,7 @@
<http://www.gnu.org/licenses/>. */
static void
-profil_counter (int signr, siginfo_t *si, struct ucontext *uctx)
+__profil_counter (int signr, siginfo_t *si, struct ucontext *uctx)
{
unsigned long ip = uctx->uc_mcontext.sc_iaoq[0] & ~0x3;
profil_count ((void *) ip);
diff --git a/sysdeps/unix/sysv/linux/i386/profil-counter.h b/sysdeps/unix/sysv/linux/i386/profil-counter.h
index 0bd60cb..c414619 100644
--- a/sysdeps/unix/sysv/linux/i386/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/i386/profil-counter.h
@@ -20,7 +20,7 @@
#include <sigcontextinfo.h>
static void
-profil_counter (int signo, const SIGCONTEXT scp)
+__profil_counter (int signo, const SIGCONTEXT scp)
{
profil_count ((void *) GET_PC (scp));
diff --git a/sysdeps/unix/sysv/linux/ia64/profil-counter.h b/sysdeps/unix/sysv/linux/ia64/profil-counter.h
index 1bd5c21..53ad09f 100644
--- a/sysdeps/unix/sysv/linux/ia64/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/ia64/profil-counter.h
@@ -20,7 +20,7 @@
and the interrupted PC is easily findable in the `struct sigcontext'. */
static void
-profil_counter (int signr, siginfo_t *si, struct sigcontext *scp)
+__profil_counter (int signr, siginfo_t *si, struct sigcontext *scp)
{
unsigned long ip = scp->sc_ip & ~0X3ULL, slot = scp->sc_ip & 0x3ull;
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h b/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
index 7f27907..31f9a34 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
@@ -20,7 +20,7 @@
#include <sigcontextinfo.h>
static void
-profil_counter (int signo, SIGCONTEXT scp)
+__profil_counter (int signo, SIGCONTEXT scp)
{
profil_count((void *) ((unsigned long) GET_PC (scp) & 0x7fffffffUL));
}
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h b/sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h
index b5d2431..e3c304c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h
@@ -20,7 +20,7 @@
#include <sigcontextinfo.h>
static void
-profil_counter (int signo, SIGCONTEXT scp)
+__profil_counter (int signo, SIGCONTEXT scp)
{
profil_count ((void *) GET_PC (scp));
}
diff --git a/sysdeps/unix/sysv/linux/sh/profil-counter.h b/sysdeps/unix/sysv/linux/sh/profil-counter.h
index d7707c0..d1f8441 100644
--- a/sysdeps/unix/sysv/linux/sh/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/sh/profil-counter.h
@@ -19,7 +19,7 @@
#include <signal.h>
static void
-profil_counter (int signo, int _a2, int _a3, int _a4, struct sigcontext sc)
+__profil_counter (int signo, int _a2, int _a3, int _a4, struct sigcontext sc)
{
void *pc;
pc = (void *) sc.sc_pc;
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h b/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h
index 31b4ddf..b0d9959 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h
@@ -19,7 +19,10 @@
#include <signal.h>
void
-profil_counter (int signo, struct sigcontext *si)
+__profil_counter (int signo, struct sigcontext *si)
{
profil_count ((void *) si->si_regs.pc);
}
+#ifndef __profil_counter
+weak_alias (__profil_counter, profil_counter)
+#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h b/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
index 38f7270..2745a32 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
@@ -19,7 +19,10 @@
#include <signal.h>
void
-profil_counter (int signo, struct sigcontext *si)
+__profil_counter (int signo, struct sigcontext *si)
{
profil_count ((void *) si->sigc_regs.tpc);
}
+#ifndef __profil_counter
+weak_alias (__profil_counter, profil_counter)
+#endif
diff --git a/sysdeps/unix/sysv/linux/tile/profil-counter.h b/sysdeps/unix/sysv/linux/tile/profil-counter.h
index 4ab1666..c509403 100644
--- a/sysdeps/unix/sysv/linux/tile/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/tile/profil-counter.h
@@ -20,7 +20,7 @@
#include <sigcontextinfo.h>
static void
-profil_counter (int signo, SIGCONTEXT scp)
+__profil_counter (int signo, SIGCONTEXT scp)
{
profil_count ((void *) GET_PC (scp));
}
diff --git a/sysdeps/unix/sysv/linux/x86_64/profil-counter.h b/sysdeps/unix/sysv/linux/x86_64/profil-counter.h
index 90c5667..6f5fd93 100644
--- a/sysdeps/unix/sysv/linux/x86_64/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/x86_64/profil-counter.h
@@ -20,7 +20,7 @@
#include <sigcontextinfo.h>
static void
-profil_counter (int signo, SIGCONTEXT scp)
+__profil_counter (int signo, SIGCONTEXT scp)
{
profil_count ((void *) GET_PC (scp));