public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: Roland McGrath <roland@redhat.com>
To: Mark Wielaard <mjw@redhat.com>
Cc: systemtap@sourceware.org
Subject: Re: Failures with exelib.exp testcase (was Re: minutes 2010-08-19)
Date: Thu, 03 Feb 2011 18:59:00 -0000	[thread overview]
Message-ID: <20110203185926.19226180954@magilla.sf.frob.com> (raw)
In-Reply-To: Mark Wielaard's message of  Thursday, 3 February 2011 13:44:37 +0100 <1296737077.3341.22.camel@springer.wildebeest.org>

> > > So, I see it doesn't even compile. Which must mean the #ifdef
> > > __powerpc__ is the wrong guard. What should be tested for to see whether
> > > we are compiling on powerpc?

That is not the right thing to test anyway.  Firstly, don't assume the
translator host is the same as the target at all.  We do support cross
compilation.  Second, even on powerpc, you can't assume that the target is
always 64-bit.  32-bit powerpc does not need this indirection.  The right
is a runtime test of the translator's record of what machine this module is
built for.

> > > +                   sym_addr = *((Dwarf_Addr *) sym_addr);
> 
> Have to ponder why that is too naive. Anybody with some powerpc elf .odp
> section knowledge see immediately why?

There is nothing target-specific about why that's wrong.  It's just generic
fuzzy thinking, sorry.  This address is in the target module, not in the
translator's own address space.

What you need to do is:

	Elf64_Addr opd_addr;
	Dwarf_Addr bias;
	Elf_Scn *opd = dwfl_module_address_section (mod, &sym_addr, &bias);
	if (opd == NULL) ...;
	Elf_Data *data = elf_rawdata (opd, NULL);
	if (data == NULL) ...;
	Elf_Data in, out;
	out.d_buf = &final_addr;
	in.d_buf = (char *) data->d_buf + sym_addr;
	out.d_size = in.d_size = sizeof (Elf64_Addr);
	out.d_type = in.d_type = ELF_T_ADDR;
	if (elf64_xlatetom (elf, &out, &in, e_ident[EI_DATA]) == NULL) ...;
	sym_addr = opd_addr + bias;


Thanks,
Roland

  reply	other threads:[~2011-02-03 18:59 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20100826194353.GC3185@redhat.com>
     [not found] ` <20100827092840.GA4129@in.ibm.com>
     [not found]   ` <20100830032810.GA5213@in.ibm.com>
     [not found]     ` <1283152139.2362.2.camel@hermans.wildebeest.org>
     [not found]       ` <20100830111805.GA4115@in.ibm.com>
     [not found]         ` <1283169285.15128.20.camel@springer.wildebeest.org>
     [not found]           ` <20101111121023.GA2597@in.ibm.com>
     [not found]             ` <1289485749.2470.5.camel@hermans.wildebeest.org>
     [not found]               ` <20110117145437.GA4251@in.ibm.com>
     [not found]                 ` <1295278356.2998.47.camel@springer.wildebeest.org>
2011-01-18 13:09                   ` K.Prasad
2011-01-18 13:30                     ` Mark Wielaard
2011-01-18 14:35                       ` K.Prasad
2011-01-18 14:56                         ` Mark Wielaard
2011-01-19 12:01                           ` K.Prasad
2011-01-19 23:24                             ` Mark Wielaard
2011-01-20  1:19                               ` Roland McGrath
2011-01-20 11:11                                 ` Mark Wielaard
2011-01-20 18:53                                   ` Roland McGrath
2011-01-21 23:16                                     ` Mark Wielaard
2011-02-02 12:24                                       ` K.Prasad
2011-02-02 12:59                                         ` Mark Wielaard
2011-02-03  5:04                                           ` K.Prasad
2011-02-03 10:16                                             ` Mark Wielaard
2011-02-03 12:34                                               ` K.Prasad
2011-02-03 12:44                                                 ` Mark Wielaard
2011-02-03 18:59                                                   ` Roland McGrath [this message]
2011-02-08 13:13                                                     ` Mark Wielaard
2011-02-08 18:45                                                       ` Roland McGrath
2011-02-08 19:51                                                         ` Mark Wielaard
2011-02-08 19:57                                                           ` Roland McGrath
2011-02-14 16:50                                                       ` K.Prasad
2011-02-14 20:33                                                         ` Mark Wielaard
2011-03-04  7:13                                                           ` K.Prasad
2011-03-04 15:06                                                             ` Mark Wielaard
2011-03-17  9:05                                                               ` K.Prasad
2011-03-17 13:04                                                                 ` Mark Wielaard

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=20110203185926.19226180954@magilla.sf.frob.com \
    --to=roland@redhat.com \
    --cc=mjw@redhat.com \
    --cc=systemtap@sourceware.org \
    /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).