public inbox for libffi-discuss@sourceware.org
 help / color / mirror / Atom feed
From: James Greenhalgh <james.greenhalgh@arm.com>
To: Richard Henderson <rth@twiddle.net>
Cc: "libffi-discuss@sourceware.org" <libffi-discuss@sourceware.org>
Subject: Re: [PATCH 00/16] Go closures for aarch64
Date: Mon, 10 Nov 2014 10:12:00 -0000	[thread overview]
Message-ID: <20141110101213.GA8221@arm.com> (raw)
In-Reply-To: <1414522393-19169-1-git-send-email-rth@twiddle.net>

On Tue, Oct 28, 2014 at 06:52:57PM +0000, Richard Henderson wrote:
> This patch set fixes a compilation error since the iOS merge,
> tidies up the port significantly, and finally adds support for
> complex and Go closures.

Hi Richard,

Possibly an irrelevant comment for this patch series, but while rewriting
the world, did you consider Jakub's comments in this thread on
gcc-patches regarding .note.GNU-stack notes?
  https://gcc.gnu.org/ml/gcc-patches/2014-09/msg00820.html

"I've noticed that on 4.8 branch libgo recently (in the last few months)
  started being linked with
    GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x10
  i.e. requiring executable stack on powerpc-linux (32-bit).

  The problem is that we link into libffi linux64.o and linux64_closure.o
  unconditionally, both for 32-bit and 64-bit compilations, just for 32-bit
  ones all the assembly is ifdefed out, so they have just empty sections.
  The .note.GNU-stack section isn't emitted in that case either, which means
  that the linker conservatively treats those as possibly needing executable
  stack.

  The following patch should fix that, ok for trunk/4.9/4.8?

  BTW, I wonder if e.g. libffi/src/arm/trampoline.S or
  libffi/src/aarch64/sysv.S shouldn't have those notes too (note, both of
  those were added after 2008 when most of the *.S files were marked that
  way)."

If it doesn't belong in this series, I'll propose a patch adding it once
your patches have gone in.

Thanks,
James

> Richard Henderson (16):
>   aarch64: Fix non-apple compilation
>   aarch64: Improve is_hfa
>   aarch64: Always distinguish LONGDOUBLE
>   aarch64: Simplify AARCH64_STACK_ALIGN
>   aarch64: Reduce the size of register_context
>   aarch64: Use correct return registers
>   aarch64: Treat void return as not passed in registers
>   aarch64: Tidy up abi manipulation
>   aarch64: Merge prep_args with ffi_call
>   aarch64: Move return value handling into ffi_call_SYSV
>   aarch64: Move return value handling into ffi_closure_SYSV
>   aarch64: Unify scalar fp and hfa handling
>   aarch64: Remove aarch64_flags
>   aarch64: Add support for complex types
>   aarch64: Move x8 out of call_context
>   aarch64: Add support for Go closures
> 
>  src/aarch64/ffi.c              | 1477 ++++++++++++++++------------------------
>  src/aarch64/ffitarget.h        |   14 +-
>  src/aarch64/internal.h         |   67 ++
>  src/aarch64/sysv.S             |  589 +++++++++-------
>  testsuite/libffi.call/call.exp |   10 +-
>  5 files changed, 1008 insertions(+), 1149 deletions(-)
>  create mode 100644 src/aarch64/internal.h
> 
> -- 
> 1.9.3
> 
> 

  parent reply	other threads:[~2014-11-10 10:12 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-28 18:53 Richard Henderson
2014-10-28 18:53 ` [PATCH 03/16] aarch64: Always distinguish LONGDOUBLE Richard Henderson
2014-10-28 18:53 ` [PATCH 01/16] aarch64: Fix non-apple compilation Richard Henderson
2014-10-28 18:54 ` [PATCH 12/16] aarch64: Unify scalar fp and hfa handling Richard Henderson
2014-10-28 18:54 ` [PATCH 11/16] aarch64: Move return value handling into ffi_closure_SYSV Richard Henderson
2014-10-28 18:54 ` [PATCH 08/16] aarch64: Tidy up abi manipulation Richard Henderson
2017-09-17 14:24   ` Andreas Schwab
2014-10-28 18:54 ` [PATCH 14/16] aarch64: Add support for complex types Richard Henderson
2014-10-28 18:54 ` [PATCH 15/16] aarch64: Move x8 out of call_context Richard Henderson
2014-10-28 18:54 ` [PATCH 10/16] aarch64: Move return value handling into ffi_call_SYSV Richard Henderson
2014-10-28 18:54 ` [PATCH 04/16] aarch64: Simplify AARCH64_STACK_ALIGN Richard Henderson
2014-10-28 18:54 ` [PATCH 07/16] aarch64: Treat void return as not passed in registers Richard Henderson
2014-10-28 18:54 ` [PATCH 05/16] aarch64: Reduce the size of register_context Richard Henderson
2014-10-28 18:54 ` [PATCH 13/16] aarch64: Remove aarch64_flags Richard Henderson
2014-10-28 18:54 ` [PATCH 09/16] aarch64: Merge prep_args with ffi_call Richard Henderson
2014-10-28 18:54 ` [PATCH 02/16] aarch64: Improve is_hfa Richard Henderson
2014-10-28 18:54 ` [PATCH 16/16] aarch64: Add support for Go closures Richard Henderson
2014-10-28 18:54 ` [PATCH 06/16] aarch64: Use correct return registers Richard Henderson
2014-11-10 10:12 ` James Greenhalgh [this message]
2014-11-10 13:22   ` [PATCH 00/16] Go closures for aarch64 Richard Henderson

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=20141110101213.GA8221@arm.com \
    --to=james.greenhalgh@arm.com \
    --cc=libffi-discuss@sourceware.org \
    --cc=rth@twiddle.net \
    /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).