From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28437 invoked by alias); 16 Jan 2015 00:52:58 -0000 Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org Received: (qmail 28421 invoked by uid 89); 16 Jan 2015 00:52:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ig0-f177.google.com Received: from mail-ig0-f177.google.com (HELO mail-ig0-f177.google.com) (209.85.213.177) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 16 Jan 2015 00:52:53 +0000 Received: by mail-ig0-f177.google.com with SMTP id z20so932475igj.4 for ; Thu, 15 Jan 2015 16:52:51 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.50.7.34 with SMTP id g2mr898833iga.36.1421369570868; Thu, 15 Jan 2015 16:52:50 -0800 (PST) Received: by 10.107.5.144 with HTTP; Thu, 15 Jan 2015 16:52:50 -0800 (PST) In-Reply-To: <54B8521D.9080204@redhat.com> References: <54B8521D.9080204@redhat.com> Date: Fri, 16 Jan 2015 00:52:00 -0000 Message-ID: Subject: Re: -m32 build of libffi head fails on darwin From: Jack Howarth To: Richard Henderson Cc: libffi-discuss@sourceware.org Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015/txt/msg00021.txt.bz2 Richard, It doesn't even try to run the test. Changing... --- configure.orig 2015-01-15 19:37:58.000000000 -0500 +++ configure 2015-01-15 19:32:27.000000000 -0500 @@ -17717,7 +17717,7 @@ fi fi -if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then +if test x$TARGET = xX86 || test x$TARGET = xX86_DARWIN || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5 $as_echo_n "checking assembler supports pc related relocs... " >&6; } if ${libffi_cv_as_x86_pcrel+:} false; then : solves the build issue using... ../configure --build=i386-apple-darwin14 --target=i386-apple-darwin14 --host=i386-apple-darwin14 --enable-debug CFLAGS="-O2 -g -m32" CC=gcc-fsf-5.0 CXX=g++-fsf-5.0 and running... make -k check RUNTESTFLAGS="--target_board=unix'{-m32}'" produces... Native configuration is i386-apple-darwin14 === libffi tests === Schedule of variations: unix/-m32 Running target unix/-m32 Using /sw/share/dejagnu/baseboards/unix.exp as board description file for target. Using /sw/share/dejagnu/config/unix.exp as generic interface file for target. Using ../../testsuite/config/default.exp as tool-and-target-specific interface file. Running ../../testsuite/libffi.call/call.exp ... FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -O0 -DABI_NUM=FFI_THISCALL -DABI_ATTR=__THISCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -O0 -DABI_NUM=FFI_FASTCALL -DABI_ATTR=__FASTCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -O2 -DABI_NUM=FFI_THISCALL -DABI_ATTR=__THISCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -O2 -DABI_NUM=FFI_FASTCALL -DABI_ATTR=__FASTCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -O3 -DABI_NUM=FFI_THISCALL -DABI_ATTR=__THISCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -O3 -DABI_NUM=FFI_FASTCALL -DABI_ATTR=__FASTCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -Os -DABI_NUM=FFI_THISCALL -DABI_ATTR=__THISCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -Os -DABI_NUM=FFI_FASTCALL -DABI_ATTR=__FASTCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -O2 -fomit-frame-pointer -DABI_NUM=FFI_THISCALL -DABI_ATTR=__THISCALL__ execution test FAIL: libffi.call/closure_simple.c -W -Wall -Wno-psabi -O2 -fomit-frame-pointer -DABI_NUM=FFI_FASTCALL -DABI_ATTR=__FASTCALL__ execution test FAIL: libffi.call/cls_align_longdouble.c -W -Wall -Wno-psabi -O0 output pattern test, is 238 0 0 0 0 0: 238 0 0 res: 238 0 0 0 0 0 0 0 0: 0 0 0 res: 0 0 0 ? should match 12 4951 127 1 9320 13: 13 14271 140 ?es: 13 14271 140 ?2 4951 127 1 9320 13: 13 14271 140 res: 13 14271 140 FAIL: libffi.call/cls_align_longdouble.c -W -Wall -Wno-psabi -O2 output pattern test, is 238 0 0 0 nan 0: 238 nan 0 res: 238 nan 0 0 0 0 186 -0 50: 186 -0 50 res: 186 -0 50 ? should match 12 4951 127 1 9320 13: 13 14271 140 ?es: 13 14271 140 ?2 4951 127 1 9320 13: 13 14271 140 res: 13 14271 140 FAIL: libffi.call/cls_align_longdouble.c -W -Wall -Wno-psabi -O3 output pattern test, is 238 0 0 0 nan 0: 238 nan 0 res: 238 nan 0 0 0 0 186 -inf 50: 186 -inf 50 res: 186 -inf 50 ? should match 12 4951 127 1 9320 13: 13 14271 140 ?es: 13 14271 140 ?2 4951 127 1 9320 13: 13 14271 140 res: 13 14271 140 FAIL: libffi.call/cls_align_longdouble.c -W -Wall -Wno-psabi -Os output pattern test, is 238 0 0 0 0 0: 238 0 0 res: 238 0 0 0 0 0 0 0 0: 0 0 0 res: 0 0 0 ? should match 12 4951 127 1 9320 13: 13 14271 140 ?es: 13 14271 140 ?2 4951 127 1 9320 13: 13 14271 140 res: 13 14271 140 FAIL: libffi.call/cls_align_longdouble.c -W -Wall -Wno-psabi -O2 -fomit-frame-pointer output pattern test, is 238 0 0 0 nan 0: 238 nan 0 res: 238 nan 0 0 0 0 186 inf 50: 186 inf 50 res: 186 inf 50 ? should match 12 4951 127 1 9320 13: 13 14271 140 ?es: 13 14271 140 ?2 4951 127 1 9320 13: 13 14271 140 res: 13 14271 140 FAIL: libffi.call/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O0 output pattern test, is -8.58536e-1679 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 2.56534e-4937 2.56536e-4937 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 2.56551e-4937 2.56552e-4937: -8.58536e-1679 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 res: -8.58536e-1679 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 0 0 0 0 0 0 0 0 0 0 0 0 0 -0: 0 0 0 0 0 0 nan res: 0 0 0 0 0 0 nan ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O2 output pattern test, is 8.22244e-2912 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 2.56534e-4937 2.56536e-4937 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 2.56551e-4937 2.56552e-4937: 8.22244e-2912 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 res: 8.22244e-2912 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 0 0 0 0 0 0 0 0 0 0 0 0 0 -0: 0 0 0 0 0 0 nan res: 0 0 0 0 0 0 nan ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O3 output pattern test, is 8.22229e-2912 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 2.56534e-4937 2.56536e-4937 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 2.56551e-4937 2.56552e-4937: 8.22229e-2912 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 res: 8.22229e-2912 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 0 0 0 0 0 0 0 0 0 0 0 0 0 -0: 0 0 0 0 0 0 nan res: 0 0 0 0 0 0 nan ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split.c -W -Wall -Wno-psabi -Os output pattern test, is 1.06679e+4487 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 2.56534e-4937 2.56536e-4937 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 2.56551e-4937 2.56552e-4937: 1.06679e+4487 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 res: 1.06679e+4487 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 0 0 0 0 0 0 0 0 0 0 0 0 0 -0: 0 0 0 0 0 0 nan res: 0 0 0 0 0 0 nan ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O2 -fomit-frame-pointer output pattern test, is -9.36423e+787 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 2.56534e-4937 2.56536e-4937 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 2.56551e-4937 2.56552e-4937: -9.36423e+787 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 res: -9.36423e+787 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 5.13085e-4937 5.13088e-4937 0 0 0 0 0 0 0 0 0 0 0 0 0 -0: 0 0 0 0 0 0 nan res: 0 0 0 0 0 0 nan ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split2.c -W -Wall -Wno-psabi -O0 output pattern test, is -8.96711e-446 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 3.47702e-310 3.91974e-4942 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 3.47726e-310 3.92404e-4942: -8.96711e-446 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 res: -8.96711e-446 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 0 0 0 0 0 0 0 0 0 0 0 0 0 0: 0 0 0 0 0 0 nan res: 0 0 0 0 0 0 nan ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split2.c -W -Wall -Wno-psabi -O2 output pattern test, is -8.96768e-446 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 3.47702e-310 3.91974e-4942 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 3.47726e-310 3.92404e-4942: -8.96768e-446 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 res: -8.96768e-446 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.02592e-2702: 0 0 0 0 0 0 -2.02592e-2702 res: 0 0 0 0 0 0 -2.02592e-2702 ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split2.c -W -Wall -Wno-psabi -O3 output pattern test, is -8.96838e-446 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 3.47702e-310 3.91974e-4942 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 3.47726e-310 3.92404e-4942: -8.96838e-446 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 res: -8.96838e-446 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 0 0 0 0 0 0 0 0 0 0 0 0 0 2.62975e+4696: 0 0 0 0 0 0 2.62975e+4696 res: 0 0 0 0 0 0 2.62975e+4696 ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split2.c -W -Wall -Wno-psabi -Os output pattern test, is -8.22082e-2912 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 3.47702e-310 3.91974e-4942 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 3.47726e-310 3.92404e-4942: -8.22082e-2912 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 res: -8.22082e-2912 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 0 0 0 0 0 0 0 0 0 0 0 0 0 1.94034e-3935: 0 0 0 0 0 0 1.94034e-3935 res: 0 0 0 0 0 0 1.94034e-3935 ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/cls_align_longdouble_split2.c -W -Wall -Wno-psabi -O2 -fomit-frame-pointer output pattern test, is 8.96576e-446 2.565e-4937 2.56516e-4937 2.5652e-4937 2.56532e-4937 3.47702e-310 3.91974e-4942 2.56537e-4937 2.56547e-4937 2.56548e-4937 2.56549e-4937 2.5655e-4937 3.47726e-310 3.92404e-4942: 8.96576e-446 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 res: 8.96576e-446 5.13048e-4937 5.13064e-4937 5.13069e-4937 5.13082e-4937 6.95428e-310 7.84377e-4942 0 0 0 0 0 0 0 0 0 0 0 0 0 2.02653e-2702: 0 0 0 0 0 0 2.02653e-2702 res: 0 0 0 0 0 0 2.02653e-2702 ? should match 1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 ?es: 9 11 13 15 17 19 21 ? 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21 res: 9 11 13 15 17 19 21 FAIL: libffi.call/nested_struct5.c -W -Wall -Wno-psabi -O0 execution test FAIL: libffi.call/nested_struct5.c -W -Wall -Wno-psabi -O2 execution test FAIL: libffi.call/nested_struct5.c -W -Wall -Wno-psabi -O3 execution test FAIL: libffi.call/nested_struct5.c -W -Wall -Wno-psabi -Os execution test FAIL: libffi.call/nested_struct5.c -W -Wall -Wno-psabi -O2 -fomit-frame-pointer execution test FAIL: libffi.call/unwindtest.cc -W -Wall -Wno-psabi -O0 execution test FAIL: libffi.call/unwindtest.cc -W -Wall -Wno-psabi -O2 execution test FAIL: libffi.call/unwindtest.cc -W -Wall -Wno-psabi -O3 execution test FAIL: libffi.call/unwindtest.cc -W -Wall -Wno-psabi -Os execution test FAIL: libffi.call/unwindtest.cc -W -Wall -Wno-psabi -O2 -fomit-frame-pointer execution test FAIL: libffi.call/unwindtest_ffi_call.cc -W -Wall -Wno-psabi -O0 execution test FAIL: libffi.call/unwindtest_ffi_call.cc -W -Wall -Wno-psabi -O2 execution test FAIL: libffi.call/unwindtest_ffi_call.cc -W -Wall -Wno-psabi -O3 execution test FAIL: libffi.call/unwindtest_ffi_call.cc -W -Wall -Wno-psabi -Os execution test FAIL: libffi.call/unwindtest_ffi_call.cc -W -Wall -Wno-psabi -O2 -fomit-frame-pointer execution test Running ../../testsuite/libffi.complex/complex.exp ... Running ../../testsuite/libffi.go/go.exp ... === libffi Summary === # of expected passes 2740 # of unexpected failures 40 Jack ps The configure change doesn't disturb the native x86_64 build on darwin14. On Thu, Jan 15, 2015 at 6:49 PM, Richard Henderson wrote: > On 01/15/2015 03:37 PM, Jack Howarth wrote: >> ../src/x86/sysv.S:1005:Rest of line ignored. 1st junk character valued 64 (@). >> Makefile:1230: recipe for target 'src/x86/sysv.lo' failed >> >> Any ideas on how to fix this issue with sysv,S? > > For some reason, the configure test > > echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s > ... > AC_DEFINE(HAVE_AS_X86_PCREL, 1, > [Define if your assembler supports PC relative relocs.]) > > > fails on darwin. Which leads to > > #ifdef HAVE_AS_X86_PCREL > # define PCREL(X) X - . > #else > # define PCREL(X) X@rel > #endif > > which leads to the error. Curiously, "X-." does seem to work on Darwin, > and you ought to be able to get sysv.S to compile if you edit that ifdef. > > If you could figure out why the assembly works, but the configure test > doesn't, that'd be great. > > > r~