bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/12978] New: ld generates broken ld.so on ia64


From: aurelien at aurel32 dot net
Subject: [Bug ld/12978] New: ld generates broken ld.so on ia64
Date: Sat, 9 Jul 2011 16:48:36 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=12978

           Summary: ld generates broken ld.so on ia64
           Product: binutils
           Version: 2.22 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: address@hidden
        ReportedBy: address@hidden
              Host: ia64-unknown-linux-gnu
            Target: ia64-unknown-linux-gnu
             Build: ia64-unknown-linux-gnu


ld from binutils HEAD produces broken ld.so on ia64. The resulting binary works
when called as a standalone, but just segfaults when used with other binaries:  

| $ ./ld.so 
| Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
| You have invoked `ld.so', the helper program for shared library executables.
| This program usually lives in the file `/lib/ld.so', and special directives
| in executable files using ELF shared libraries tell the system's program
| loader to load the helper program from this file.  This helper program loads
| the shared libraries needed by the program executable, prepares the program
| to run, and runs it.  You may invoke this helper program directly from the
| command line to load and run an ELF executable file; this is like executing
| that file itself, but always uses this helper program from the file you
| specified, instead of the helper program file specified in the executable
| file you run.  This is mostly of use for maintainers to test new versions
| of this helper program; chances are you did not intend to run this program.
| 
|   --list                list all dependencies and how they are resolved
|   --verify              verify that given object really is a dynamically
linked
|                         object we can handle
|   --library-path PATH   use given PATH instead of content of the environment
|                         variable LD_LIBRARY_PATH
|   --inhibit-rpath LIST  ignore RUNPATH and RPATH information in object names
|                         in LIST
|   --audit LIST          use objects named in LIST as auditors
| $ ./ld.so  /bin/ls
| Segmentation fault

The issue has been introduced by the following changes:
| 2011-05-25  Tristan Gingold  <address@hidden>
| 
|     * configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
|     (bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec)
|     (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo
|     * Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo
|     (BFD64_BACKENDS_CFILES): Add elfxx-ia64.c
|     (elf32-ia64.c): Created from elfnn-ia64.c
|     (elf64-ia64.c): Likewise.
|     * elfxx-ia64.h: New file.
|     * elfxx-ia64.c: Split with elfnn-ia64.c.  Keep only the following
|     functions.Includes elfxx-ia64.h.
|     (elfNN_ia64_reloc): Renames to ia64_elf_reloc.  Adjust error message.
|     (IA64_HOWTO): Adjust.
|     (lookup_howto): Renames to ia64_elf_lookup_howto.  Make it public.
|     (elfNN_ia64_reloc_type_lookup): Renames to
|     ia64_elf_reloc_type_lookup. Make it public. Adjust calls.
|     (elfNN_ia64_reloc_name_lookup): Renames to
|     ia64_elf_reloc_name_lookup. Make it public.
|     (elfNN_ia64_relax_br): Renames to ia64_elf_relax_br.  Make it public.
|     (elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it
|     public.
|     (elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov.
|     Move it and make it public.  Move prototype to elfxx-ia64.h
|     (elfNN_ia64_install_value): Renames to ia64_elf_install_value.
|     Move prototype to elfxx-ia64.h
|     * elfnn-ia64.c: New file, split from elfxx-ia64.c.
|     (elfNN_ia64_info_to_howto): Adjust calls.
|     (elfNN_ia64_relax_section): Adjust calls.
|     (count_dyn_reloc): Fix typo.
|     (elfNN_ia64_relocate_section): Adjust calls.
|     (elfNN_ia64_finish_dynamic_symbol): Likewise.
|     (bfd_elfNN_bfd_reloc_type_lookup)
|     (bfd_elfNN_bfd_reloc_name_lookup): Adjust macros.
|     * configure: Regenerate.
|     * Makefile.in: Regenerate.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]