public inbox for libffi-discuss@sourceware.org
 help / color / mirror / Atom feed
From: "H.J. Lu" <hjl.tools@gmail.com>
To: Anthony Green <green@moxielogic.com>,
	GCC Patches <gcc-patches@gcc.gnu.org>,
		libffi-discuss@sourceware.org
Subject: Re: libffi is broken for x32
Date: Mon, 12 Jan 2015 23:46:00 -0000	[thread overview]
Message-ID: <CAMe9rOp5jCwZ548gNjdO7S6MenRLM1W-5q-KDOFOzuKhb_Zt=Q@mail.gmail.com> (raw)
In-Reply-To: <CAMe9rOpTqX-d+CoSnxqug__gYv1HVZ8+6-KBqQ8fWo9+sH07Cg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 606 bytes --]

On Mon, Jan 12, 2015 at 2:42 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> This libffi commit:
>
> 13e2d7b92557a9511a0414df82bf2df3edc55cba is the first bad commit
> commit 13e2d7b92557a9511a0414df82bf2df3edc55cba
> Author: Anthony Green <green@moxielogic.com>
> Date:   Thu Jan 10 10:52:02 2013 -0500
>
>     Handle both 32 and 64-bit x86 builds regardless of target triple
>
> breaks x32.
>

This patch passed "make check" in libffi on x32.  I am testing
it in GCC now.

GCC is configured as x86_64-unknown-linux-gnu with x32
enabled.  libffi should set TARGET to X86_64 if __x86_64__
is defined.

-- 
H.J.

[-- Attachment #2: 0001-Set-TARGET-to-X86_64-if-__x86_64__-is-defined.patch --]
[-- Type: text/x-patch, Size: 785 bytes --]

From 9aedae5848333acf55fa34fd734d5704364ccaa1 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Mon, 12 Jan 2015 15:25:10 -0800
Subject: [PATCH] Set TARGET to X86_64 if __x86_64__ is defined

---
 configure.host | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/configure.host b/configure.host
index 5ee632c..c7eb9c8 100644
--- a/configure.host
+++ b/configure.host
@@ -100,7 +100,13 @@ case "${host}" in
 	      TARGET=X86_64
 	      ;;
 	    *)
-	      TARGET=X86
+	      echo 'int foo (void) { return __x86_64__; }' > conftest.c
+	      if $CC $CFLAGS -Werror -S conftest.c -o conftest.s > /dev/null 2>&1; then
+		TARGET=X86_64;
+	      else
+		TARGET=X86;
+	      fi
+	      rm -f conftest.*
 	      ;;
           esac
 	else
-- 
1.9.3


       reply	other threads:[~2015-01-12 23:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAMe9rOpTqX-d+CoSnxqug__gYv1HVZ8+6-KBqQ8fWo9+sH07Cg@mail.gmail.com>
2015-01-12 23:46 ` H.J. Lu [this message]
2015-01-13  0:29   ` Richard Henderson
2015-01-13  0:57     ` H.J. Lu
2015-01-13  1:13       ` Richard Henderson
2015-01-13 15:35         ` H.J. Lu
2015-01-13 15:51           ` Richard Henderson
2015-01-13  0:59   ` H.J. Lu

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='CAMe9rOp5jCwZ548gNjdO7S6MenRLM1W-5q-KDOFOzuKhb_Zt=Q@mail.gmail.com' \
    --to=hjl.tools@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=green@moxielogic.com \
    --cc=libffi-discuss@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).