From a334319f6530564d22e775935d9c91663623a1b4 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 22 Dec 2004 20:10:10 +0000 Subject: (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. --- .../unix/sysv/linux/powerpc/powerpc64/ldsodefs.h | 77 ---------------------- 1 file changed, 77 deletions(-) delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h (limited to 'sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h') diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h deleted file mode 100644 index ac4a0d5aa9..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h +++ /dev/null @@ -1,77 +0,0 @@ -/* Run-time dynamic linker data structures for loaded ELF shared objects. - Copyright (C) 2005, 2006 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 _LDSODEFS_H - -/* Get the real definitions. */ -#include_next - -/* Now define our stuff. */ - -static __always_inline bool -_dl_ppc64_is_opd_sym (const struct link_map *l, const ElfW(Sym) *sym) -{ - return (ELFW(ST_TYPE) (sym->st_info) == STT_FUNC - && l->l_addr + sym->st_value >= (ElfW(Addr)) l->l_ld - && l->l_addr + sym->st_value < l->l_map_end - && sym->st_size != 0); -} - -static __always_inline bool -_dl_ppc64_addr_sym_match (const struct link_map *l, const ElfW(Sym) *sym, - const ElfW(Sym) *matchsym, ElfW(Addr) addr) -{ - ElfW(Addr) value = l->l_addr + sym->st_value; - if (_dl_ppc64_is_opd_sym (l, sym)) - { - if (addr < value || addr >= value + 24) - { - value = *(ElfW(Addr) *) value; - if (addr < value || addr >= value + sym->st_size) - return false; - } - } - else if (sym->st_shndx == SHN_UNDEF || sym->st_size == 0) - { - if (addr != value) - return false; - } - else if (addr < value || addr >= value + sym->st_size) - return false; - - if (matchsym == NULL) - return true; - - ElfW(Addr) matchvalue = l->l_addr + matchsym->st_value; - if (_dl_ppc64_is_opd_sym (l, matchsym) - && (addr < matchvalue || addr > matchvalue + 24)) - matchvalue = *(ElfW(Addr) *) matchvalue; - - return matchvalue < value; -} - -/* If this is a function symbol defined past the end of our dynamic - section, then it must be a function descriptor. Allow these symbols - to match their associated function code range as well as the - descriptor addresses. */ -#undef DL_ADDR_SYM_MATCH -#define DL_ADDR_SYM_MATCH(L, SYM, MATCHSYM, ADDR) \ - _dl_ppc64_addr_sym_match (L, SYM, MATCHSYM, ADDR) - -#endif /* ldsodefs.h */ -- cgit 1.4.1