]> sourceware.org Git - glibc.git/commitdiff
mips: don't call ifunc functions in trace mode
authorAndreas Schwab <schwab@redhat.com>
Wed, 5 Oct 2011 09:53:16 +0000 (11:53 +0200)
committerAndreas Schwab <schwab@redhat.com>
Wed, 5 Oct 2011 09:53:16 +0000 (11:53 +0200)
ChangeLog.mips
sysdeps/mips/dl-machine.h

index 8da2af2fbab0406256bf2119299f20984f700888..5d9d772422d8cf26f51ea582240d4314a5891843 100644 (file)
@@ -1,3 +1,8 @@
+2011-10-05  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/mips/dl-machine.h (elf_machine_rel, elf_machine_rela)
+       (elf_machine_lazy_rel): Add parameter skip_ifunc.
+
 2011-09-13  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/mips/bits/socket.h (__cmsg_nxthdr): Cast
        Update comment.
        * sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h: New file.
        * sysdeps/unix/sysv/linux/mips/ucontext_i.sym: New file.
-       * sysdeps/unix/sysv/linux/mips/Makefile (gen-as-const-headers): 
+       * sysdeps/unix/sysv/linux/mips/Makefile (gen-as-const-headers):
        Add ucontext_i.sym.
 
 2009-04-18  Joseph Myers  <joseph@codesourcery.com>
 
 2008-04-02  Aurelien Jarno  <aurelien@aurel32.net>
 
-       * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list: Add 
+       * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list: Add
        truncate and ftruncate systems calls.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: Make an
        empty file.
        (lll_robust_mutex_dead, lll_robust_mutex_trylock, lll_robust_mutex_lock,
        lll_robust_mutex_cond_lock, lll_robust_mutex_timedlock,
        lll_robust_mutex_unlock): New macros.
-       (__lll_robust_lock_wait, __lll_robust_timedlock_wait): New prototypes.  
+       (__lll_robust_lock_wait, __lll_robust_timedlock_wait): New prototypes.
        * sysdeps/unix/sysv/linux/mips/nptl/pt-vfork.S: Use correct path to
        vfork.S.
        * sysdeps/unix/sysv/linux/mips/nptl/vfork.S: Likewise.
index 26e1fcb7db9f47fea80bf6f758eaaa92911d7d23..3e1d402cf21829063ae7620a21a700293ae9d6f6 100644 (file)
@@ -528,7 +528,7 @@ elf_machine_reloc (struct link_map *map, ElfW(Addr) r_info,
                              strtab + refsym->st_name);
          }
        memcpy (reloc_addr, (void *) value,
-               MIN (sym->st_size, refsym->st_size));
+               MIN (sym->st_size, refsym->st_size));
        break;
       }
 
@@ -559,7 +559,7 @@ auto inline void
 __attribute__ ((always_inline))
 elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc,
                 const ElfW(Sym) *sym, const struct r_found_version *version,
-                void *const reloc_addr)
+                void *const reloc_addr, int skip_ifunc)
 {
   elf_machine_reloc (map, reloc->r_info, sym, version, reloc_addr, 0, 1);
 }
@@ -575,7 +575,8 @@ elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
 auto inline void
 __attribute__((always_inline))
 elf_machine_lazy_rel (struct link_map *map,
-                     ElfW(Addr) l_addr, const ElfW(Rel) *reloc)
+                     ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
+                     int skip_ifunc)
 {
   ElfW(Addr) *const reloc_addr = (void *) (l_addr + reloc->r_offset);
   const unsigned int r_type = ELFW(R_TYPE) (reloc->r_info);
@@ -598,7 +599,7 @@ auto inline void
 __attribute__ ((always_inline))
 elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
                  const ElfW(Sym) *sym, const struct r_found_version *version,
-                void *const reloc_addr)
+                 void *const reloc_addr, int skip_ifunc)
 {
   elf_machine_reloc (map, reloc->r_info, sym, version, reloc_addr,
                     reloc->r_addend, 0);
@@ -626,7 +627,7 @@ elf_machine_got_rel (struct link_map *map, int lazy)
     ({                                                                   \
       const ElfW(Sym) *ref = sym;                                        \
       const struct r_found_version *version                              \
-        = vernum ? &map->l_versions[vernum[sym_index] & 0x7fff] : NULL;          \
+       = vernum ? &map->l_versions[vernum[sym_index] & 0x7fff] : NULL;   \
       struct link_map *sym_map;                                                  \
       sym_map = RESOLVE_MAP (&ref, version, reloc);                      \
       ref ? sym_map->l_addr + ref->st_value : 0;                         \
@@ -648,7 +649,7 @@ elf_machine_got_rel (struct link_map *map, int lazy)
       i = (got[1] & ELF_MIPS_GNU_GOT1_MASK)? 2 : 1;
 
       /* Add the run-time displacement to all local got entries if
-         needed.  */
+        needed.  */
       if (__builtin_expect (map->l_addr != 0, 0))
        {
          while (i < n)
This page took 0.047721 seconds and 5 git commands to generate.