[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 Eric Gallager changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #29 from Eric Gallager --- (In reply to r...@cebitec.uni-bielefeld.de from comment #28) > > --- Comment #27 from Eric Gallager --- > [...] > > Did this fix it? > > It seems so, both according to my own testing and gcc-testresults > postings. > > Rainer Cool, closing accordingly then.
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 --- Comment #28 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #27 from Eric Gallager --- [...] > Did this fix it? It seems so, both according to my own testing and gcc-testresults postings. Rainer
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 Eric Gallager changed: What|Removed |Added CC||egallager at gcc dot gnu.org --- Comment #27 from Eric Gallager --- (In reply to Rainer Orth from comment #26) > Author: ro > Date: Thu Jun 30 10:02:45 2011 > New Revision: 175689 > > URL: http://gcc.gnu.org/viewcvs?root=gcc=rev=175689 > Log: > 2011-06-28 Dominique d'Humieres> Iain Sandoe > > PR libobjc/36610 > * objc.dg/torture/forward-1.m: Remove dg-xfail-run-if. > Only skip on 64-bit *-*-darwin8* && !objc2. > > Modified: > trunk/gcc/testsuite/ChangeLog > trunk/gcc/testsuite/objc.dg/torture/forward-1.m Did this fix it?
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 --- Comment #26 from Rainer Orth ro at gcc dot gnu.org 2011-06-30 10:02:48 UTC --- Author: ro Date: Thu Jun 30 10:02:45 2011 New Revision: 175689 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175689 Log: 2011-06-28 Dominique d'Humieres domi...@lps.ens.fr Iain Sandoe ia...@gcc.gnu.org PR libobjc/36610 * objc.dg/torture/forward-1.m: Remove dg-xfail-run-if. Only skip on 64-bit *-*-darwin8* !objc2. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/objc.dg/torture/forward-1.m
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 --- Comment #24 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot Uni-Bielefeld.DE 2011-06-17 13:23:39 UTC --- --- Comment #23 from Nicola Pero nicola at gcc dot gnu.org 2011-06-14 18:26:40 UTC --- [...] Summarizing, I would close the bug, or leave it open but just to remind me/us to: * remove the existing forwarding code from libobjc; * remove the forward-1.m testcase; Since the test now seems to pass everywhere, we could just remove the xfail instead. * add new testcases for the libobjc forwarding hooks. As these are the official ways to use forwarding (and the only ones available), we should have testcases. Agreed, but that's orthogonal to the issue at hand. Whatever is done, we should soon remove the annoying XFAILs of objc.dg/torture/forward-1.m. Thanks. Rainer
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 --- Comment #25 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-06-17 13:29:33 UTC --- I have the following patch in my working tree without regression --- /opt/gcc/_clean/gcc/testsuite/objc.dg/torture/forward-1.m2011-06-07 16:48:47.0 +0200 +++ /opt/gcc/work/gcc/testsuite/objc.dg/torture/forward-1.m2011-06-07 17:10:00.0 +0200 @@ -1,7 +1,5 @@ /* { dg-do run } */ /* See if -forward:: is able to work. */ -/* { dg-xfail-run-if PR36610 { ! { { i?86-*-* x86_64-*-* } ilp32 } } { -fgnu-runtime } { } } */ -/* { dg-skip-if Needs OBJC2 Implementation { *-*-darwin* { lp64 } } { -fnext-runtime } { } } */ #include stdio.h #include stdlib.h
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 --- Comment #21 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot Uni-Bielefeld.DE 2011-06-14 13:53:56 UTC --- objc.dg/torture/forward-1.m now seems to XPASS (almost?) everywhere with -fgnu-runtime: alpha-dec-osf5.1b i386-pc-solaris2.1[01] -m64 mips-sgi-irix6.5 sparc-sun-solaris2* Could it be that this PR has now been fixed by the libobjc API rework? If so, the xfail should be removed. Rainer
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 --- Comment #22 from js-gcc at webkeks dot org js-gcc at webkeks dot org 2011-06-14 14:02:05 UTC --- Nope, it's still using __builtin_apply.
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 Nicola Pero nicola at gcc dot gnu.org changed: What|Removed |Added CC||nicola at gcc dot gnu.org --- Comment #23 from Nicola Pero nicola at gcc dot gnu.org 2011-06-14 18:26:40 UTC --- Yes, in a strict sense this bug could be closed ... because objc_msg_sendv() no longer exists in the GNU Objective-C runtime. So if the bug is about it not working on some platforms, it can certainly be closed. ;-) Forwarding in libobjc still uses __builtin_apply(), so the problem, in a wider sense, still exists. But that forwarding is not used by any user of libobjc as far as I know (they all have their own libffi-based implementation of forwarding that are used through the forwarding hooks that libobjc has) and I'm planning on entirely removing it for 4.7.0 - it's unused (the forwarding hooks override any implementation in libobjc), and it often doesn't work. I also have some other plans for a new forwarding infrastructure, that may or may not happen for 4.7.0. Summarizing, I would close the bug, or leave it open but just to remind me/us to: * remove the existing forwarding code from libobjc; * remove the forward-1.m testcase; * add new testcases for the libobjc forwarding hooks. As these are the official ways to use forwarding (and the only ones available), we should have testcases. Let me know if you have any comments. Thanks
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 Iain Sandoe iains at gcc dot gnu.org changed: What|Removed |Added CC||iains at gcc dot gnu.org --- Comment #18 from Iain Sandoe iains at gcc dot gnu.org 2010-11-07 14:50:00 UTC --- The test has been removed for GNU runtime for the present, since it seems that fixing this is probably outside the scope of 4.6. The forward-1.m test has been moved to objc.dg/torture (so that is also exercises with lto) and confined to m32 NeXT runtime.
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 --- Comment #19 from Andrew Pinski pinskia at gcc dot gnu.org 2010-11-07 19:01:53 UTC --- (In reply to comment #18) The forward-1.m test has been moved to objc.dg/torture (so that is also exercises with lto) and confined to m32 NeXT runtime. I think this is the wrong approach. Please just xfail it for the GNU runtime. This testcase works on some targets (x86 32bits). -- Pinski
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610 --- Comment #20 from Iain Sandoe iains at gcc dot gnu.org 2010-11-07 19:55:00 UTC --- Author: iains Date: Sun Nov 7 19:54:51 2010 New Revision: 166421 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=166421 Log: gcc/testsuite: PR libobjc/36610 * objc.dg/torture/forward-1.m: Re-enable for gnu-runtime, XFAIL the run for all but m32 x86. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/objc.dg/torture/forward-1.m
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
--- Comment #17 from ro at gcc dot gnu dot org 2010-06-02 17:17 --- Subject: Bug 36610 Author: ro Date: Wed Jun 2 17:16:55 2010 New Revision: 160172 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160172 Log: Backport from mainline: 2010-02-24 Rainer Orth r...@cebitec.uni-bielefeld.de PR libobjc/36610 * objc/execute/forward-1.x: XFAIL on alpha*-dec-osf*, 64-bit i?86-*-solaris2*, mips-sgi-irix*, sparc*-sun-solaris2* with -fgnu-runtime. Sort entries. Modified: branches/gcc-4_4-branch/gcc/testsuite/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/objc/execute/forward-1.x -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
--- Comment #16 from ro at gcc dot gnu dot org 2010-02-24 11:56 --- Subject: Bug 36610 Author: ro Date: Wed Feb 24 11:56:10 2010 New Revision: 157035 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157035 Log: PR libobjc/36610 * objc/execute/forward-1.x: XFAIL on alpha*-dec-osf*, 64-bit i?86-*-solaris2*, mips-sgi-irix*, sparc*-sun-solaris2* with -fgnu-runtime. Sort entries. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/objc/execute/forward-1.x -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
--- Comment #15 from pinskia at gcc dot gnu dot org 2009-04-19 15:52 --- *** Bug 39817 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||js-gcc at webkeks dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
--- Comment #14 from janis at gcc dot gnu dot org 2009-04-09 17:01 --- Subject: Bug 36610 Author: janis Date: Thu Apr 9 17:00:57 2009 New Revision: 145850 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145850 Log: PR libobjc/36610 * objc/execute/forward-1.x: New. Added: branches/gcc-4_4-branch/gcc/testsuite/objc/execute/forward-1.x Modified: branches/gcc-4_4-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
--- Comment #13 from janis at gcc dot gnu dot org 2009-04-09 16:58 --- Subject: Bug 36610 Author: janis Date: Thu Apr 9 16:58:34 2009 New Revision: 145849 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145849 Log: PR libobjc/36610 * objc/execute/forward-1.x: New. Added: trunk/gcc/testsuite/objc/execute/forward-1.x Modified: trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
--- Comment #11 from pinskia at gcc dot gnu dot org 2009-03-31 19:34 --- (In reply to comment #10) I can't get dg- style to work either. What I'd like to do is something like this: /* { dg-xfail-run-if PR36610 { lp64 } * } */ Janis, can you please help? Thanks. Except that is not a fully correct xfail as it is more than just lp64 targets, it is about targets which pass via registers. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Component|objc|libobjc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610
[Bug libobjc/36610] objc_msg_sendv is broken for targets which pass argument via registers
--- Comment #12 from janis at gcc dot gnu dot org 2009-03-31 20:28 --- The objc/execute directory can process .x files like the one added here, which I've tested on powerpc64-linux with -m32/-m64: Index: gcc/testsuite/objc/execute/forward-1.x === --- gcc/testsuite/objc/execute/forward-1.x (revision 0) +++ gcc/testsuite/objc/execute/forward-1.x (revision 0) @@ -0,0 +1,8 @@ +load_lib target-supports.exp + +if { ([istarget x86_64-*-linux*] [is_effective_target_lp64]) + || [istarget powerpc*-*-linux*] } { +set torture_execute_xfail *-*-* +} + +return 0 As Andrew said, the list of affected targets is longer than this. I don't think it's worth adding an effective-target keyword, people can just add new targets to this list. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36610