diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-04-19 06:51:29 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-04-19 06:51:29 +0000 |
commit | 72c41589771584da6693ca8a340a19d1cd6bef06 (patch) | |
tree | 5f9c337216256e83828a1dde9814893b7e60e742 /sysdeps | |
parent | e832919bd092ad265b724eb4a96d5f8ceaaafbaf (diff) | |
download | glibc-72c41589771584da6693ca8a340a19d1cd6bef06.tar.gz glibc-72c41589771584da6693ca8a340a19d1cd6bef06.tar.xz glibc-72c41589771584da6693ca8a340a19d1cd6bef06.zip |
Update.
2004-04-18 Randolph Chung <tausq@debian.org> * sysdeps/hppa/elf/entry.h: New file. * sysdeps/hppa/machine-gmon.h: New file. * sysdeps/unix/sysv/linux/hppa/profil-counter.h: Don't use x86 version.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/hppa/elf/entry.h | 10 | ||||
-rw-r--r-- | sysdeps/hppa/machine-gmon.h | 25 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/profil-counter.h | 27 |
3 files changed, 60 insertions, 2 deletions
diff --git a/sysdeps/hppa/elf/entry.h b/sysdeps/hppa/elf/entry.h new file mode 100644 index 0000000000..b024db2be7 --- /dev/null +++ b/sysdeps/hppa/elf/entry.h @@ -0,0 +1,10 @@ +#ifndef __ASSEMBLY__ +extern void _start (void); +#endif + +/* The function's entry point is stored in the first word of the + function descriptor (plabel) of _start(). */ +#define ENTRY_POINT __canonicalize_funcptr_for_compare(_start) + +/* We have to provide a special declaration. */ +#define ENTRY_POINT_DECL(class) class void _start (void); diff --git a/sysdeps/hppa/machine-gmon.h b/sysdeps/hppa/machine-gmon.h new file mode 100644 index 0000000000..3eeef67377 --- /dev/null +++ b/sysdeps/hppa/machine-gmon.h @@ -0,0 +1,25 @@ +/* Machine-specific calling sequence for `mcount' profiling function. PA-RISC + Copyright (C) 1995, 1996, 1997, 2000 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +/* We can call _mcount directly since gcc supplies the correct + * arguments */ +#define _MCOUNT_DECL(from, self) \ + void _mcount (u_long from, u_long self) + +#define MCOUNT diff --git a/sysdeps/unix/sysv/linux/hppa/profil-counter.h b/sysdeps/unix/sysv/linux/hppa/profil-counter.h index 8a6a0bcf3d..b108be8a36 100644 --- a/sysdeps/unix/sysv/linux/hppa/profil-counter.h +++ b/sysdeps/unix/sysv/linux/hppa/profil-counter.h @@ -1,2 +1,25 @@ -/* We can use the ix86 version. */ -#include <sysdeps/unix/sysv/linux/i386/profil-counter.h> +/* Machine-dependent SIGPROF signal handler. PA-RISC version + Copyright (C) 1996, 1997, 2000 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +static void +profil_counter (int signr, siginfo_t *si, struct ucontext *uctx) +{ + unsigned long ip = uctx->uc_mcontext.sc_iaoq[0] & ~0x3; + profil_count ((void *) ip); +} |