c776b3d717
2003-12-02 David Mosberger <davidm@hpl.hp.com> * sysdeps/ia64/elf/initfini.c: Add unwind info. * sysdeps/ia64/dl-machine.h (elf_machine_matches_host): Mark with attribute "unused". (elf_machine_dynamic): Mark with attributes "unused" and "const". (elf_machine_runtime_setup): Likewise. * sysdeps/generic/dl-fptr.c (make_fptr_table): Mark with attribute "always_inline". * sysdeps/ia64/dl-machine.h (__ia64_init_bootstrap_fdesc_table): Likewise. * configure.in: Check whether compiler has libunwind support. * config.make.in (have-cc-with-libunwind): New variable. * config.h.in (HAVE_CC_WITH_LIBUNWIND): New macro. * Makeconfig (gnulib): If have-cc-withh-libunwind is "yes", also mention -lunwind. 003-11-12 David Mosberger <davidm@hpl.hp.com> * sysdeps/unix/sysv/linux/ia64/sysdep.h: Define DO_CALL_VIA_BREAK. Redefine DO_CALL to use vdso if supported, otherwise DO_CALL_VIA_BREAK. Likewise for DO_INLINE_SYSCALL. Make INTERNAL_SYSCALL use DO_INLINE_SYSCALL. * sysdeps/unix/sysv/linux/ia64/vfork.S: Use DO_CALL_VIA_BREAK() instead of DO_CALL(). * sysdeps/unix/sysv/linux/ia64/clone2.S: Use break directly instead of DO_CALL(). * sysdeps/unix/sysv/linux/ia64/brk.S (__curbrk): Restructure it to take advantage of DO_CALL() macro. * sysdeps/unix/sysv/linux/ia64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/ia64/getcontext.S: Likewise. * elf/rtld.c (dl_main): Restrict dl_sysinfo_dso check to first program header. On ia64, the check failed previously because there are two program headers. * sysdeps/generic/s_nexttowardf.c: Likewise. * math/bug-nexttoward.c: New file.
46 lines
1.7 KiB
C
46 lines
1.7 KiB
C
/* System-specific settings for dynamic linker code. IA-64 version.
|
|
Copyright (C) 2003 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. */
|
|
|
|
#ifndef _DL_SYSDEP_H
|
|
#define _DL_SYSDEP_H 1
|
|
|
|
#define NEED_DL_SYSINFO 1
|
|
#undef USE_DL_SYSINFO
|
|
|
|
#if defined NEED_DL_SYSINFO && !defined __ASSEMBLER__
|
|
/* Don't declare this as a function---we want it's entry-point, not
|
|
it's function descriptor... */
|
|
extern int _dl_sysinfo_break attribute_hidden;
|
|
# define DL_SYSINFO_DEFAULT ((uintptr_t) &_dl_sysinfo_break)
|
|
# define DL_SYSINFO_IMPLEMENTATION \
|
|
asm (".text\n\t" \
|
|
".hidden _dl_sysinfo_break\n\t" \
|
|
".proc _dl_sysinfo_break\n\t" \
|
|
"_dl_sysinfo_break:\n\t" \
|
|
".prologue\n\t" \
|
|
".altrp b6\n\t" \
|
|
".body\n\t" \
|
|
"break 0x100000;\n\t" \
|
|
"br.ret.sptk.many b6;\n\t" \
|
|
".endp _dl_sysinfo_break" \
|
|
".previous");
|
|
#endif
|
|
|
|
#endif /* dl-sysdep.h */
|