public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: Tristan Gingold <gingold@adacore.com>
Cc: Nick Clifton <nickc@redhat.com>,
	binutils Development <binutils@sourceware.org>
Subject: Re: Ping [Patch v2] bfd elfxx-ia64: share code between elf32 and elf64
Date: Tue, 05 Jul 2011 19:06:00 -0000	[thread overview]
Message-ID: <20110705182906.GB19197@volta.aurel32.net> (raw)
In-Reply-To: <049A78A6-0E98-4631-BB9B-27A6B9527D37@adacore.com>

Hello Tristan,

On Wed, May 25, 2011 at 02:02:49PM +0200, Tristan Gingold wrote:
> 
> On May 25, 2011, at 9:21 AM, Nick Clifton wrote:
> 
> > Hi Tristan,
> > 
> >> bfd/
> >> 2011-05-17  Tristan Gingold<gingold@adacore.com>
> >> 
> >> 	* 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.
> > 
> > Approved - please apply.
> 
> Thanks, committed.
> 

This patch seems to break libc on ia64. ld-2.13.so produced with
binutils using this patch works when called as a standalone, but just
segfault 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
| 

I don't know what is the best way to proceed for debugging this issue. I
can provide you the correct and the broken ld.so if it can help.

Thanks,
Aurelien

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

  reply	other threads:[~2011-07-05 18:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-17 12:56 [Patch] " Tristan Gingold
2011-05-17 13:04 ` H.J. Lu
2011-05-17 13:10   ` Tristan Gingold
2011-05-17 13:15     ` H.J. Lu
2011-05-17 15:12       ` [Patch v2] " Tristan Gingold
2011-05-23  8:00         ` Ping " Tristan Gingold
2011-05-24 13:50           ` Nick Clifton
2011-05-24 14:17             ` Tristan Gingold
2011-05-25  8:07               ` Nick Clifton
2011-05-25 12:03                 ` Tristan Gingold
2011-07-05 19:06                   ` Aurelien Jarno [this message]
2011-07-06  7:00                     ` Tristan Gingold
2011-07-09 18:18                       ` Aurelien Jarno
2011-07-10 11:53                       ` Andreas Schwab
2011-07-11 16:20                         ` H.J. Lu
2011-07-25 13:35                         ` Tristan Gingold
2011-05-17 13:08 ` [Patch] " Andreas Schwab
2011-05-17 13:11   ` Tristan Gingold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110705182906.GB19197@volta.aurel32.net \
    --to=aurelien@aurel32.net \
    --cc=binutils@sourceware.org \
    --cc=gingold@adacore.com \
    --cc=nickc@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).