Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: koriakin@0x04.net (Marcin Kościelnicki)
Cc: gdb-patches@sourceware.org, pierre.langlois@arm.com, yao.qi@linaro.org
Subject: Re: [PATCH 2/4 v2] IPA: Add alloc_jump_pad_buffer target hook.
Date: Wed, 30 Mar 2016 11:38:00 -0000	[thread overview]
Message-ID: <20160330113811.E5E0C7704@oc7340732750.ibm.com> (raw)
In-Reply-To: <56FAFBFE.70005@0x04.net> from "=?UTF-8?Q?Marcin_Ko=c5=9bcielnicki?=" at Mar 30, 2016 12:04:46 AM

Marcin Kościelnicki wrote:
> On 29/03/16 20:18, Ulrich Weigand wrote:
> > Marcin Kościelnicki wrote:
> >
> >> Targets may have various requirements on the required location of the jump
> >> pad area.  Currently IPA allocates it at the lowest possible address,
> >> so that it is reachable by branches from the executable.  However, this
> >> fails on powerpc, which has executable link address (0x10000000) much
> >> larger than branch reach (+/- 32MiB).
> >>
> >> This makes jump pad buffer allocation a target hook instead.  The current
> >> implementations are as follows:
> >>
> >> - i386: Branches can reach anywhere, so just mmap it.  This avoids
> >>    the linear search dance.
> >> - x86_64: Branches have +/-2GiB of reach, and executable is loaded low,
> >>    so just call mmap with MAP_32BIT.  Likewise avoids the linear search.
> >> - aarch64: Branches have +-128MiB of reach, executable loaded at 4MiB.
> >>    Do a linear search from 4MiB-size downwards to page_size.
> >
> > This makes sense to me, but I agree that this needs testing on the
> > affected platforms, in particular aarch64.
> 
> Right.  I've tested on i386 and x86_64.  Unfortunately I have no means 
> of testing on aarch64 - could someone lend a hand here?

Pierre or Yao ... you've been working in this area recently, could you
have a look at Marcin's patch and give it a test?   Thanks!

> Also, since s390 tracepoints have just landed, I'll update the patch to 
> cover s390 and s390x as well.
> >
> >> +void *alloc_jump_pad_buffer (size_t size);
> >> +#ifdef HAVE_GETAUXVAL
> >> +unsigned long getauxval (unsigned long type);
> >> +#endif
> >
> > Shouldn't this use a guard like
> > #if !defined HAVE_GETAUXVAL && defined IN_PROCESS_AGENT
> > just as in the source file?
> 
> Whoops, you're obviously right - I'm going to change the guard to 
> #ifndef HAVE_GETAUXVAL (since it's already inside #ifdef 
> IN_PROCESS_AGENT).  I'll send this fix in v3 along with s390 support.

OK, thanks!

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU/Linux compilers and toolchain
  Ulrich.Weigand@de.ibm.com


  reply	other threads:[~2016-03-30 11:38 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-13  2:31 [PATCH 0/3] gdbserver: Add powerpc fast tracepoint support Marcin Kościelnicki
2016-03-13  2:32 ` [PATCH 2/3] IPA: Add alloc_jump_pad_buffer target hook Marcin Kościelnicki
2016-03-18 15:08   ` [PATCH 2/4 v2] " Marcin Kościelnicki
2016-03-29 18:18     ` Ulrich Weigand
2016-03-29 22:04       ` Marcin Kościelnicki
2016-03-30 11:38         ` Ulrich Weigand [this message]
2016-03-30 14:50           ` Yao Qi
2016-03-30 14:58             ` Ulrich Weigand
2016-03-31  7:34               ` Yao Qi
2016-03-31 11:37                 ` Ulrich Weigand
2016-03-31  1:16       ` [PATCH 2/4 v3] " Marcin Kościelnicki
2016-03-31 11:38         ` Ulrich Weigand
2016-03-31 13:42           ` Marcin Kościelnicki
2016-04-01 14:43         ` Ulrich Weigand
2016-04-03 12:31           ` [PATCH] IPA: Fix build problem on !HAVE_GETAUXVAL Marcin Kościelnicki
2016-04-03 16:26             ` Ulrich Weigand
2016-04-03 16:28               ` Marcin Kościelnicki
2016-04-04 14:41                 ` Ulrich Weigand
2016-04-05 13:33                   ` [PATCH] IPA: Move getauxval out of #ifndef IN_PROCESS_AGENT Marcin Kościelnicki
2016-04-05 15:04                     ` Ulrich Weigand
2016-04-05 16:55                       ` Marcin Kościelnicki
2016-03-13  2:32 ` [PATCH 1/3] gdbserver/IPA: Export some functions via global function pointers Marcin Kościelnicki
2016-03-14 14:41   ` Ulrich Weigand
2016-03-14 14:53     ` Marcin Kościelnicki
2016-03-14 17:49       ` Ulrich Weigand
2016-03-22  9:19         ` Marcin Kościelnicki
2016-03-29 18:08           ` Ulrich Weigand
2016-03-29 21:51             ` Pedro Alves
2016-03-30 11:30               ` Ulrich Weigand
2016-03-29 21:52             ` Marcin Kościelnicki
2016-03-30 11:32               ` Ulrich Weigand
2016-03-30 22:02                 ` Marcin Kościelnicki
2016-03-31 18:22                   ` Sergio Durigan Junior
2016-03-31 21:42                     ` [PATCH obv] gdbserver: Fix C++ build errors in tracepoint.c Marcin Kościelnicki
2016-03-14 17:08     ` [PATCH 1/3] gdbserver/IPA: Export some functions via global function pointers Simon Marchi
2016-03-14 17:40       ` Ulrich Weigand
2016-03-13  2:32 ` [PATCH 3/3] gdbserver: Add powerpc fast tracepoint support Marcin Kościelnicki
2016-03-14 22:10   ` [PATCH 3/4 v2] " Marcin Kościelnicki
2016-03-16 16:58     ` Ulrich Weigand
2016-03-16 17:55       ` Marcin Kościelnicki
2016-03-17  6:30         ` Ulrich Weigand
2016-03-18 15:09           ` [PATCH v2 3/4] " Marcin Kościelnicki
2016-03-29 18:23             ` Ulrich Weigand
2016-03-30 14:52             ` Simon Marchi
2016-03-30 14:57               ` Ulrich Weigand
2016-03-30 15:24                 ` Simon Marchi
2016-03-30 15:28                   ` Simon Marchi
2016-03-30 15:35                     ` Ulrich Weigand
2016-03-31  1:31                       ` Marcin Kościelnicki
2016-03-31 11:39                         ` Ulrich Weigand
2016-03-31 13:45                           ` Marcin Kościelnicki
2016-03-14 22:25 ` [PATCH 4/4] gdbserver: Add emit_ops for powerpc Marcin Kościelnicki
2016-03-16 17:16   ` Ulrich Weigand
2016-03-18 15:10     ` [PATCH v2 " Marcin Kościelnicki
2016-03-29 18:25       ` Ulrich Weigand
2016-03-31 13:45         ` Marcin Kościelnicki

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=20160330113811.E5E0C7704@oc7340732750.ibm.com \
    --to=uweigand@de.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=koriakin@0x04.net \
    --cc=pierre.langlois@arm.com \
    --cc=yao.qi@linaro.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