This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] skip gcc.target/i386/pr53249.c on darwin


On Thu, Nov 01, 2012 at 03:38:13PM -0700, H.J. Lu wrote:
> On Thu, Nov 1, 2012 at 2:41 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> > On Thu, Nov 1, 2012 at 6:47 AM, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
> >> On Fri, Aug 24, 2012 at 04:13:20PM +0200, Rainer Orth wrote:
> >>> Jack Howarth <howarth@bromo.med.uc.edu> writes:
> >>>
> >>> >    Currently the new testcase for gcc.target/i386/pr53249.c is failing
> >>> > on darwin due to the absence of -mx32 support on that target. The following
> >>> > patch skips this testcase on darwin. Tested on x86_64-apple-darwin12...
> >>>
> >>> This also fails on Solaris/x86 (cf. PR testsuite/53365) and
> >>> i686-unknown-linux-gnu.  I'd strongly prefer if HJ could devise a real
> >>> fix instead of just skipping the test on an explicit list of systems.
> >>>
> >>>       Rainer
> >>
> >> Rainer,
> >>    What about using...
> >>
> >> Index: gcc/testsuite/gcc.target/i386/pr53249.c
> >> ===================================================================
> >> --- gcc/testsuite/gcc.target/i386/pr53249.c     (revision 193061)
> >> +++ gcc/testsuite/gcc.target/i386/pr53249.c     (working copy)
> >> @@ -1,4 +1,4 @@
> >> -/* { dg-do compile { target { ! { ia32 } } } } */
> >> +/* { dg-do compile { target { ! { ia32 || llp64 } } } } */
> >>  /* { dg-options "-O2 -mx32 -ftls-model=initial-exec -maddress-mode=short" } */
> >>
> >>  struct gomp_task
> >>
> >> This converts the failure at -m64 into an unsupported testcase on x86_64-apple-darwin12.
> >
> > This will disable test on Linux/x86-64.
> >
> > --
> > H.J.
> 
> We can add
> 
> # Return 1 if -mx32 can compile, 0 otherwise.
> 
> proc check_effective_target_maybe_x32 { } {
>     return [check_no_compiler_messages maybe_x32 object {
>         void foo (void) {}
>     } {-mx32}]
> }
> 
> and check it before compiling with -mx32.
> 
> -- 
> H.J.

H.J.,
   I tried that approach before and when using...

/* { dg-do compile { target { ! { ia32 } } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O2 -mx32 -ftls-model=initial-exec -maddress-mode=short" } */

at the top of gcc/testsuite/gcc.target/i386/pr53249.c, I still get an excessive error
failure at -m64 on x86_64-apple-darwin11...

Executing on host: /sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/gcc/ /sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121031/gcc/testsuite/gcc.target/i386/pr53249.c  -fno-diagnostics-show-caret   -O2 -mx32 -ftls-model=initial-exec -maddress-mode=short -S  -m64 -o pr53249.s    (timeout = 300)
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121031/gcc/testsuite/gcc.target/i386/pr53249.c:1:0: error: address mode 'short' not supported in the 64 bit mode
compiler exited with status 1
output is:
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121031/gcc/testsuite/gcc.target/i386/pr53249.c:1:0: error: address mode 'short' not supported in the 64 bit mode

FAIL: gcc.target/i386/pr53249.c (test for excess errors)
Excess errors:
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121031/gcc/testsuite/gcc.target/i386/pr53249.c:1:0: error: address mode 'short' not supported in the 64 bit mode

testcase /sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121031/gcc/testsuite/gcc.target/i386/i386.exp completed in 1 seconds

I believe you will have do a linkage test since for...

% more mx32_test.c
int foo (void) {}
% gcc-fsf-4.8 -m32 -mx32 -c mx32_test.c
% gcc-fsf-4.8 -m64 -mx32 -c mx32_test.c
% gcc-fsf-4.8 -m32 -mx32 mx32_test.c
ld: sectionForAddress(0x50000002D) address not in any section for architecture x86_64
collect2: error: ld returned 1 exit status
% gcc-fsf-4.8 -m64 -mx32 mx32_test.c
ld: sectionForAddress(0x50000002D) address not in any section for architecture x86_64
collect2: error: ld returned 1 exit status

but I don't see a way to do that in target-supports.exp.
         Jack



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]