[Bug middle-end/43602] ___emutls_v.__gcov_indirect_call_[counters|callee] undefined on *-*-darwin*

2010-04-05 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #20 from developer at sandoe-acoustics dot co dot uk  
2010-04-05 08:32 ---
see:
http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00129.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43602



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-05 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #30 from developer at sandoe-acoustics dot co dot uk  
2010-04-05 08:33 ---
(In reply to comment #29)
 Iain,
Do please post the revised patch to gcc-patches with a changelog. That may
 incite a review from the emutls maintainers.

see: http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00129.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43553



[Bug libobjc/25359] some objc.dg-struct-layout-encoding-1 failures

2010-04-04 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #9 from developer at sandoe-acoustics dot co dot uk  2010-04-04 
08:47 ---
indeed, my comment #6 is probably wrong for this PR.

(There are a number of m64 structure size fails across the powerpc compiler -
but that issue could well be different from the objc one which also happens at
m32 for -fgnu-runtime)

Does the problem you identified, Andrew, also account for the
objc/execute/bf-*.m fails for gnu-runtime?

(these are also structure-size issues, but m64-only - therefore, possibly part
of the wider issue).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25359



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-04 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #28 from developer at sandoe-acoustics dot co dot uk  
2010-04-04 20:18 ---
(In reply to comment #26)
 Iain can you post this to  gcc-patches with a ChangeLog?

Well, I guess it seems to do the job (I reverted the additional copies in
emutls_decl() on my local branch and re-checked).

Hmm.  Well, it would be good to get a review form the emutls authors - but I
guess this is a busy time.

IMO - this PR should be closed as fixed by the -DUSE_EMUTLS patch .. and the
patch I've proposed should probably be attached to 43602.

Also - AFAICT there's no reason for a few of the test-suite tls entries to be
marked as requiring tls_native (tls would do).  So I'll put together two
patches - a reduced version of the one attached here and a patch that allows
more of the g++ tls tests to run on emutls targets.

I'll mark them as solving PR43602 (and this one if you like)...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43553



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-03 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #22 from developer at sandoe-acoustics dot co dot uk  
2010-04-03 11:00 ---
Created an attachment (id=20299)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20299action=view)
finalize emutls control vars before varpool_assemble_ending_decls()

This provides a traverse of the emutls control var htab finalizing each.

It allows the race condition patch to be applied without regression.  

Hopefully, by inspection, it can be seen that targetm.have_tls will bypass this
and, therefore, this should only effect emutls targets.

I didn't try to check if vars were already finalized in the traversal callback
- on the basis that varpool_finalize_decl is efficient at that itself.  

Of course, the disclaimers are:
(a) I'm even newer to this area of gcc than others ;) so...
(b) there might be a much better/more efficient way/place to do this.

Additional:  following Paolo's comments on gcc I've updated emutls_decl() to
copy:
TREE_ADDRESSABLE, DECL_VISIBILITY_SPECIFIED, DECL_PRESERVE_P and DECL_INITAL.

I haven't made the efficiency improvement mod.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43553



[Bug libobjc/25359] some objc.dg-struct-layout-encoding-1 failures

2010-04-03 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #6 from developer at sandoe-acoustics dot co dot uk  2010-04-03 
16:40 ---
(In reply to comment #4)
 These failures...
snip
 FAIL: objc.dg-struct-layout-encoding-1/t024_main.m execution test
 
 still exist in current gcc trunk on powerpc-apple-darwin9.

these discrepancies in the computation of structure sizes are probably the main
difference in error counts between powerpc and i686 apple-darwin*.

I think this extends across the compiler - and is NOT just an objc problem.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25359



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-02 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #20 from developer at sandoe-acoustics dot co dot uk  
2010-04-02 21:15 ---
(In reply to comment #18)
 TREE_USED then?

It looks to me like the problem is more subtle.
I think it is to do with the fact that the emutls variables are proxies for the
actual ones and that the proxies are not being finalized.

I've patched current tree (+ the tree-profile.c patch) with the one below ...  
... this fixes the unresolved vars problems ..  but, maybe causes one
regression in g++ and a few in libgomp.fortran,
I'm looking into those -- but would really welcome input from people who know
more about emutls.

Index: gcc/varpool.c
===
--- gcc/varpool.c   (revision 157942)
+++ gcc/varpool.c   (working copy)
@@ -281,6 +281,17 @@
 varpool_finalize_decl (tree decl)
 {
   struct varpool_node *node = varpool_node (decl);
+  
+  /* When emulating tls, we actually see references to the control
+ variable, rather than the user-level variable.  Make sure that 
+ these control variables are finalized. */
+  if (!targetm.have_tls
+   TREE_CODE (decl) == VAR_DECL
+   DECL_THREAD_LOCAL_P (decl))
+{
+  tree control = emutls_decl (decl);
+  varpool_finalize_decl (control);
+}

   /* FIXME: We don't really stream varpool datastructure and instead rebuild
it
  by varpool_finalize_decl.  This is not quite correct since this way we
can't


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43553



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-02 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #21 from developer at sandoe-acoustics dot co dot uk  
2010-04-02 21:31 ---
(In reply to comment #20)

 I'm looking into those -- but would really welcome input from people who know
 more about emutls.

for example, is this really something that should be handled in some way from
emutls_finish()?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43553



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-01 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #17 from developer at sandoe-acoustics dot co dot uk  
2010-04-01 08:02 ---
AFAICT the root problem does not relate to export of symbols from emutls (or to
its use).  Although this perhaps needs a different PR

The root problem is that the emutls implementation generates symbols in the
data area that are (AFAICT) translated into thread-unique addresses by
_emutls_get_address.

The two symbols in question are declared static and private and are being
optimized away.   (you will find that the profile tests work at -O0).

I am not sure why they are being optimized away when there is a reference to
them in the asm file -- see (b) below.

The variables need to be preserved and coalesced within one binary.

a/ A work-round solution is to mark the two variables PUBLIC and COMMON.  I've
tested that this works on i686-apple-darwin and ia32-pc-linux  BUT

b/ Looking at http://gcc.gnu.org/ml/gcc/2010-03/msg00482.html

It is perhaps the case that other attributes are not being copied that are
causing this problem.

Of course, maybe this is also a limitation of emutls.

I don't have time to do much on this today -- and the trunk freeze is fast
approaching.. input from more experienced would be welcome...


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

 CC||developer at sandoe-
   ||acoustics dot co dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43553



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-01 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #19 from developer at sandoe-acoustics dot co dot uk  
2010-04-01 08:30 ---
(In reply to comment #18)
 TREE_USED then?

It doesn't do it... tried that first ;-)  [ and it is copied]
However, I see the comment that variables can change status during their life -
or perhaps it's a bug...

I also tried TREE_ADDRESSABLE  and DECL_PRESERVED_P - but now I see that these
are not copied.
hmmm


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43553



[Bug objc++/23716] obj-c++.dg/comp-types-10.mm ICE with the GNU runtime

2010-03-27 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #11 from developer at sandoe-acoustics dot co dot uk  
2010-03-27 11:59 ---
It seems that objc_start_function is expecting a TREE in the objcpp case - so
the error marked node is indeed unexpected.

I've tried this on i686-darwin and i32-linux - but there are obviously a lot of
affected platforms out there - would some of you like to try this?


Index: gcc/objc/objc-act.c
===
--- gcc/objc/objc-act.c (revision 157761)
+++ gcc/objc/objc-act.c (working copy)
@@ -2391,11 +2398,17 @@

   objc_push_parm (build_decl (input_location,
  PARM_DECL, NULL_TREE, void_type_node));
+#ifdef OBJCPLUS
   objc_start_function (get_identifier (TAG_GNUINIT),
   build_function_type (void_type_node,
OBJC_VOID_AT_END),
+  NULL_TREE, NULL_TREE);
+#else
+  objc_start_function (get_identifier (TAG_GNUINIT),
+  build_function_type (void_type_node,
+   OBJC_VOID_AT_END),
   NULL_TREE, objc_get_parm_info (0));
-
+#endif
   body = c_begin_compound_stmt (true);
   add_stmt (build_function_call
(input_location,


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23716



[Bug objc++/23613] obj-c++.dg/isa-field-1.mm fails with the GNU runtime

2010-03-27 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #7 from developer at sandoe-acoustics dot co dot uk  2010-03-27 
13:10 ---
see 
http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01282.html
hopefully, that's a reasonable way to fix.


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

 CC||developer at sandoe-
   ||acoustics dot co dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23613



[Bug objc++/27249] FAIL: obj-c++.dg/encode-8.mm execution test

2010-03-27 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #4 from developer at sandoe-acoustics dot co dot uk  2010-03-27 
14:38 ---
shouldn't this be NeXT-specific - i.e. skipped for -fgnu-runtime, rather than
XFAILED?


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

 CC||developer at sandoe-
   ||acoustics dot co dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27249



[Bug testsuite/43512] [4.5 regression] Many objc test failures

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #8 from developer at sandoe-acoustics dot co dot uk  2010-03-26 
07:47 ---
(In reply to comment #7)
 Why
 
 ---
 Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Object1-implementation.h
 ('svn:executable' added)
 
 Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Object1.h
 ('svn:executable' added)

Hmm. I think that, despite the fact that I stripped the apple-double (resource
fork) from the files, tar must still believe there's an empty fork present
which would cause them to be 'executable'.  I'm sure the attribute can be
removed.

 Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Protocol1.h
 ('svn:executable' added)
 
 Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/next-abi.h
 ('svn:executable' added)
 
 Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/next-mapping.h
 ('svn:executable' added)
 ---
 
 Do they have to be executable?
 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512



[Bug testsuite/43512] [4.5 regression] Many objc test failures

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #9 from developer at sandoe-acoustics dot co dot uk  2010-03-26 
08:09 ---
(In reply to comment #8)
 (In reply to comment #7)
  Why

my first reply was rubbish (should have coffee before email).

This is clearly an error on my part - in fact, looking at my trail here,  they
picked up the exec. attribute when copied via a FAT-32 partition during testing
between darwin/linux.

  Do they have to be executable?

No.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512



[Bug objc/43535] ICE on objc.dg/objc-gc-4.m -fgnu-runtime

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2010-03-26 
12:16 ---
I believe that this test was not previously carried out with -fgnu-runtime .

So, technically I think it's a failed New test rather than a regression (but I
will triple-check a little later).

In any event, I don't suppose we want an ICE as a response to a command line
error.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43535



[Bug objc/35165] Massive failures of objc on i686-apple-darwin9

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #11 from developer at sandoe-acoustics dot co dot uk  
2010-03-26 13:42 ---
(In reply to comment #9)
 Should I close this PR as fixed, leaving people fill new PRs for the remaining
 failures, or should I leave it open?

IMO this should be closed - it clears the faults that arose, not because of
compiler changes, but becasue of Darwin changes.

I think we should deal with the remaining faults one by one - as separate
issues. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35165



[Bug objc/35165] Massive failures of objc on i686-apple-darwin9

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #12 from developer at sandoe-acoustics dot co dot uk  
2010-03-26 13:42 ---
(In reply to comment #10)
 Is there any plan to backport the patches to 4.4?

I'll look at that in the next couple of weeks.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35165



[Bug testsuite/41609] Torture tests do not check trivial.{m,mm} for each run case.

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #4 from developer at sandoe-acoustics dot co dot uk  2010-03-26 
13:48 ---
I think this is now OK following the patches and no new issues appear to have
arisen elsewhere.


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41609



[Bug objc/43535] ICE on objc.dg/objc-gc-4.m -fgnu-runtime

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #4 from developer at sandoe-acoustics dot co dot uk  2010-03-26 
16:36 ---
(In reply to comment #3)
 Subject: Re:  ICE on objc.dg/objc-gc-4.m -fgnu-runtime
  This option should not be supported or a nop there.

if gc is incompatible with gnu runtime then that should be thrown out either in
options processing - or in objc init.. 
.. I'm happy to take on doing the latter ; the question then is
error 
or remove the flag and warn?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43535



[Bug objc/35996] ICE while building simple ObjC code with -fobjc-gc

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #5 from developer at sandoe-acoustics dot co dot uk  2010-03-26 
18:20 ---
Created an attachment (id=20215)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20215action=view)
warn that -fobjc-gc is ignored for -fgnu-runtime and set flag_objc_gc to 0

a warning seems enough here .. although error-out would be possible.

NOTE; there's no reason to skip this the tests on linux - I've taken out the
*-*-darwin and confirmed that the tests pass on ia32-pc-linux


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35996



[Bug objc++/23716] obj-c++.dg/comp-types-10.mm ICE with the GNU runtime

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #9 from developer at sandoe-acoustics dot co dot uk  2010-03-26 
20:09 ---
also fails on *-*-darwin* with -fgnu-runtime.


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

 CC||developer at sandoe-
   ||acoustics dot co dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23716



[Bug objc++/23716] obj-c++.dg/comp-types-10.mm ICE with the GNU runtime

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #10 from developer at sandoe-acoustics dot co dot uk  
2010-03-26 21:44 ---
(In reply to comment #9)
 also fails on *-*-darwin* with -fgnu-runtime.

note the fail does not occur (at least on ppc darwin) with -O0


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23716



[Bug testsuite/43512] [4.5 regression] Many objc test failures

2010-03-25 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2010-03-25 
09:04 ---
(In reply to comment #0)
 On Linux/ia32, revision 157716 gave:
 

 Revision 157712 is OK. Those checkins:
 
 http://gcc.gnu.org/ml/gcc-cvs/2010-03/msg00552.html
 http://gcc.gnu.org/ml/gcc-cvs/2010-03/msg00553.html
 
 may be the causes.

Yes, indeed, this check-in is the cause.

The tests explicitly name -fnext-runtime which should cause the NeXT headers to
be used - which are not present on a stock linux system.  This was being
silently ignored prior to the patch.

The patches above are Part 1 of 2 - and these fails are corrected by Part 2
(which, hopefully, will be applied in the next day or so).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512



[Bug testsuite/43512] [4.5 regression] Many objc test failures

2010-03-25 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #3 from developer at sandoe-acoustics dot co dot uk  2010-03-25 
20:03 ---
(In reply to comment #2)
 Iain, these tests pass if the tests are run after make install because then
 the objc header files are found in the install tree.  I tested your patch but
 installed first, that's why I didn't see the failures.

I believe that this is one of those nasty side effects of
installed/uninstalled testing..

there are two sets of headers with the same names on a Darwin system - one in
the gcc installation tree - one in /usr/include/objc.

The tests *should* fail on Linux in an ideal world (when -fnext-runtime is
given)  - because they are supposed to be finding the NeXT headers at
/usr/include/objc.  This is a compiler-provided path. 

Of course, once installed the compiler's own headers are found because it
searches through all the various options.. since the header names are the same
.. the fail does not occur.

It's a source of potentially very subtle problems...
(at least, that is my understanding of the situation).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512



[Bug testsuite/43512] [4.5 regression] Many objc test failures

2010-03-25 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #4 from developer at sandoe-acoustics dot co dot uk  2010-03-25 
21:40 ---
(In reply to comment #3)
 (In reply to comment #2)

 It's a source of potentially very subtle problems...
 (at least, that is my understanding of the situation).

 I should add that, at one stage, the headers were the same but this is now not
the case  (and, in fact the NeXT ones are syntactically dependent on
improvements made to the apple-local version of gcc that means they generate
errors with FSF gcc).  

I'd imagine it's unlikely that the two sets will re-converge.  We might be wise
to make things more explicit in FSF ObjC and the testsuite - i.e. make sure
that the compiler can't fall-back to a set of headers that gives an unexpected
result.

Part 2 of the patch which clears this PR (if accepted) has been posted.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512



[Bug target/33120] Data not put in BSS section on Mac OS

2010-03-24 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #15 from developer at sandoe-acoustics dot co dot uk  
2010-03-24 17:39 ---
(In reply to comment #14)
 Note that there was no libjava test failure with the patch in
 http://gcc.gnu.org/ml/fortran/2010-03/txt7.txt . Also with this patch the
 test in comment #8 was not improved.

since this is re-opened a few notes .. 

(a) the test at comment #8 is different from the original bug since it carries
out explicit initialization (as opposed to implicit).

(b) I don't think the issue is the segment into which the data are assembled,
but rather that the .space instruction is inefficient c.f. the .zerofill one.  

(c) comment (b) might lead to the observation that we could further improve
things by replacing .space with .zerofill as the darwin ASM_SKIP_OP ..
unfortunately, .zerofill needs state information (viz-a-viz what segment is
current) or, alternatively, a priori knowledge of the target segment.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33120



[Bug fortran/43481] New: huge object files generated for un-initialized data

2010-03-22 Thread developer at sandoe-acoustics dot co dot uk
simple definitions of un-initialized data are using the .space asm directive
which results in huge object files where fortran common variables are sizeable.

Although this is reported against fortran, it is possible that it also
manifests for other components.

credit for reporting this to  Andy Nelson


-- 
   Summary: huge object files generated for un-initialized data
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
GCC target triplet: *-apple-darwin*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43481



[Bug fortran/43481] huge object files generated for un-initialized data

2010-03-22 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2010-03-22 
16:18 ---
Created an attachment (id=20160)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20160action=view)
reduced testcase

this compiles to an 7.6Mb object on current trunk.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43481



[Bug fortran/43481] huge object files generated for un-initialized data

2010-03-22 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #2 from developer at sandoe-acoustics dot co dot uk  2010-03-22 
16:21 ---
Created an attachment (id=20161)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20161action=view)
provisional fix against 157594

this is plagiarized in its entirety from  apple/llvm 4.2 (was fixed in that
tree in 2002 apparently).  
Credit for the fix should go to turley.

reg-tested on i686-apple-darwin9.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43481



[Bug target/43481] huge object files generated for un-initialized data

2010-03-22 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #4 from developer at sandoe-acoustics dot co dot uk  2010-03-22 
16:59 ---
(In reply to comment #3)

 Also, unless turley has a copyright assignment on file with the FSF (didn't
 find him/her in the MAINTAINERS file), the patch unfortunately cannot be
 accepted.

It's from the apple / llvm tree which is already under FSF license - albeit V2. 
INAL - but I'm under the impression that there's no barrier to ports from that
tree (other than time/effort/skill).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43481



[Bug target/43481] huge object files generated for un-initialized data

2010-03-22 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #5 from developer at sandoe-acoustics dot co dot uk  2010-03-22 
18:55 ---
(In reply to comment #3)

 Also, unless turley has a copyright assignment on file with the FSF (didn't
 find him/her in the MAINTAINERS file), the patch unfortunately cannot be
 accepted.

for the record also - my typo:

the fix author was Turly O'Connor (tu...@apple.com) listed in the MAINTAINER's
file for the tree revision from which the patch was taken  [although not listed
in MAINTAINERs for trunk]


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43481



[Bug bootstrap/43287] [4.5 Regression] Bootstrap fails at stage 1 on powerpc-apple-darwin9

2010-03-09 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #14 from developer at sandoe-acoustics dot co dot uk  
2010-03-09 08:54 ---
(In reply to comment #12)
 Bootstrapping all languages minus ADA with the patch in comment #10 succeeded
 at revision 157293.

at 157294 (minus ada and java) with the patch.
I see the following new 4.5 regressions (possibly unrelated)

FAIL: gcc.dg/vmx/7-01.c  -O3 -g  (internal compiler error)
FAIL: gcc.dg/vmx/7-01.c  -O3 -g  (test for excess errors)
FAIL: gcc.dg/vmx/7-01a.c  -O3 -g  (internal compiler error)
FAIL: gcc.dg/vmx/7-01a.c  -O3 -g  (test for excess errors)
FAIL: gcc.dg/vmx/fft.c  -O3 -g  (internal compiler error)
FAIL: gcc.dg/vmx/fft.c  -O3 -g  (test for excess errors)

  Needs testing on darwin as well as verification that there
  really isn't any indirection etc. missed (i.e. that (lo_sum ((reg X),
  (symbol_ref foo))) is always equivalent to (symbol_ref foo).
 
 I'll try to some testing in the coming nights, but I am leaving the
 verification ... to those who really know the details about Darwin.

ditto [157304 is building at present] - but, to be sure, this needs someone
familiar with the nitty gritty of macho.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43287



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-19 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #37 from developer at sandoe-acoustics dot co dot uk  
2010-02-19 08:43 ---
(In reply to comment #36)
 I've checked in a slightly updated fix in r156877.  Let us know if all the
 regressions are fixed now.
i686/powerpc-darwin9 - YES, thanks.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-19 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #40 from developer at sandoe-acoustics dot co dot uk  
2010-02-19 23:28 ---
(In reply to comment #39)
 I checked in the real back end change in r156907.
OK on i686/powerpc d9


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug testsuite/41609] Torture tests do not check trivial.{m,mm} for each run case.

2010-02-19 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #2 from developer at sandoe-acoustics dot co dot uk  2010-02-19 
23:32 ---
Created an attachment (id=19926)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19926action=view)
updated patch against 156812


gcc/testsuite/Changelog:

2009-10-06 Iain Sandoe iain.san...@sandoe-acoustics.co.uk

PR teststuite/41609

* lib/objc-torture.exp: New proc (objc-set-runtime-options) to be run
each pass.  This function takes optional arguments to control check
(a) that resulting binaries can execute, and
(b) to allow trivial testcases to utilize case-specific flags.
* objc/execute/execute.exp: Check runtime options on each pass.
* objc/execute/exceptions/exceptions.exp: Ditto.
* objc/compile/compile.exp: Ditto.


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

  Attachment #18728|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41609



[Bug testsuite/42348] Syntax of dg-skip-if in two obj-c++ tests

2010-02-19 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #9 from developer at sandoe-acoustics dot co dot uk  2010-02-19 
23:36 ---
Created an attachment (id=19927)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19927action=view)
updated patch against 156812

gcc/testsuite/Changelog:

2009-12-17 Iain Sandoe iain.san...@sandoe-acoustics.co.uk

PR testsuite/42348

* lib/target-supports.exp: Add support for ObjC/ObjC++ tools in
standard tests, (check_effective_target_objc2) New proc.
(check_effective_target_next_runtime) New proc.
* lib/objc.exp: Walk through the gnu/next runtime flags to determine which
is actually in force, attach the appropriate includes accordingly.
* lib/obj-c++.exp: Ditto.


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

  Attachment #19290|0   |1
is obsolete||
  Attachment #19291|0   |1
is obsolete||
  Attachment #19292|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42348



[Bug objc/35165] Massive failures of objc on i686-apple-darwin9

2010-02-19 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #7 from developer at sandoe-acoustics dot co dot uk  2010-02-19 
23:42 ---
updated patches  test results:
http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00742.html

explanation of the intention of those patches:
http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00712.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35165



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-16 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #30 from developer at sandoe-acoustics dot co dot uk  
2010-02-16 09:23 ---
apropos 
http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00587.html

do you think that _OBJC_CLASS_REFERENCES_* and _OBJC_SELECTOR_REFERENCES_*
should be marked as TREE_ADDRESSABLE and DECL_PRESERVE_P in anticipation that
this change (ipa* and cgraphunit responding to PRESERVE_P) will occur in the
future?

(I took those changes out of this patch on the grounds that they didn't
currently achieve anything).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-16 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #34 from developer at sandoe-acoustics dot co dot uk  
2010-02-16 14:58 ---
Created an attachment (id=19889)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19889action=view)
patch with CLASS and SELECTOR refs. marked as TREE_ADDRESSABLE 
DECL_PRESERVE_P (for NeXT runtime)

In view of the comments in
http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00597.html and
http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00587.html it's clear that people
feel that the bug is actually in ipa* and cgraphunit.c.  

However, a grep of lookup_attribute ipa* etc. suggests that altering these has
possibly wide-reaching effects, which might not be welcome at this stage.

I've added back in the marking of CLASS_REFERENCES_* and SELECTOR_REFERENCES_*
as TREE_ADDRESSABLE and DECL_PRESERVE_P.  Of course, this doesn't solve the
problem unless the addition of the used attribute in finish_var_decl() is
left in place too (although that can be removed once the underlying problem is
resolved).

Would it be best to close this bug with the lookup_attribute fix - and open a
new bug for ipa*.c and cgraphunit.c to support DECL_PRESERVE_P and/or
TREE_USED? 

In fact, I'm a bit confused about what combination of flags is really needed. 
TREE_USED appears to match in intent with used attribute - which is placed on
the vars in objc-act.c/finish_var_decl().

DECL_PRESERVE_P presumably should only be used on the
CLASS_REFERENCES/SELECTOR_REFERENCES - and thus I've placed it local to those
two definitions.


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

  Attachment #19884|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #25 from developer at sandoe-acoustics dot co dot uk  
2010-02-15 19:54 ---
Hm.  I tried this trivial patch:
Index: gcc/objc/objc-act.c
===
--- gcc/objc/objc-act.c (revision 156760)
+++ gcc/objc/objc-act.c (working copy)
@@ -2533,7 +2533,8 @@

   sprintf (buf, _OBJC_SELECTOR_REFERENCES_%d, selector_reference_idx++);
   decl = start_var_decl (objc_selector_type, buf);
-
+  if (flag_next_runtime) 
+TREE_ADDRESSABLE (decl) = 1;
   return decl;
 }

@@ -2733,6 +2734,8 @@

   sprintf (buf, _OBJC_CLASS_REFERENCES_%d, class_reference_idx++);
   decl = start_var_decl (objc_class_type, buf);
+  if (flag_next_runtime) 
+TREE_ADDRESSABLE (decl) = 1;

   return decl;
 }

and when I check in gdb the trees are marked as addressable [checking in
objc-act.c/finish_var_decl() ].
... but something is un-doing this later - and _OBJC_CLASS_REFERENCES_0 is
ending up marked as not tree addressable according to the ipa dump.

any ideas where I'm going wrong?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #27 from developer at sandoe-acoustics dot co dot uk  
2010-02-15 21:51 ---
(In reply to comment #26)
 Addressability is recomputed several times.  What you probably want is mark 
 the
 decl with the used attribute (i.e. add used attribute to it, set TREE_USED
 (decl) = 1 and DECL_PRESERVE_P (decl) = 1).

finish_var_decl() contains:
mark_decl_referenced(var); - although this doesn't do anything for csts.
and
TREE_USED (var) = 1;

adding  DECL_PRESERVE_P (decl) = 1 doesn't solve the problem either..

I'll have to dig deeper into what's actually happening/required.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #29 from developer at sandoe-acoustics dot co dot uk  
2010-02-15 23:10 ---
Created an attachment (id=19884)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19884action=view)
attach used attribute as well as marking vars used.

Jakub's comment seems to do the trick - thanks.
I've applied a used attribute in the same place that the TREE_USED is placed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2010-02-14 
13:46 ---
confirmed, this can be reproduced outside the testsuite framework:
for example... [ppc/darwin9/156749];

$ ./gcc/xgcc -B gcc ../gcc-4-5-trunk/gcc/testsuite/objc/execute/cascading-1.m
-fnext-runtime -O1 -o tc -lobjc -g -save-temps

$ gdb tc
GNU gdb 6.3.50-20050815 (Apple version gdb-967) (Tue Jul 14 02:15:14 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as powerpc-apple-darwin...Reading symbols for shared
libraries . done

(gdb) run
Starting program: /Volumes/ScratchCS/gcc-4-5-trunk-build/tc 
Reading symbols for shared libraries +++... done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x466f6f20
0x9622dfd8 in objc_msgSend ()
(gdb) backtrace
#0  0x9622dfd8 in objc_msgSend ()
#1  0x1f8c in main (argc=value temporarily unavailable, due to
optimizations, argv=value temporarily unavailable, due to optimizations) at
../gcc-4-5-trunk/gcc/testsuite/objc/execute/cascading-1.m:33
(gdb) 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #3 from developer at sandoe-acoustics dot co dot uk  2010-02-14 
16:04 ---
(In reply to comment #2)
 Track down the regression that caused this

r156519

and see what actually is the  difference in generated code and/or tree/rtl 
dumps. 

what output would be the most useful?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #5 from developer at sandoe-acoustics dot co dot uk  2010-02-14 
16:32 ---
Created an attachment (id=19860)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19860action=view)
generated asm differences with/without r156519


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #6 from developer at sandoe-acoustics dot co dot uk  2010-02-14 
16:33 ---
Created an attachment (id=19861)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19861action=view)
optimized tree diffs.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #7 from developer at sandoe-acoustics dot co dot uk  2010-02-14 
16:45 ---
Created an attachment (id=19862)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19862action=view)
diffs for all fdump-tree-all output


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #9 from developer at sandoe-acoustics dot co dot uk  2010-02-14 
18:50 ---
(In reply to comment #8)
 Hm.  So CCP through get_symbol_constant_value causes

 you run the compile inside gdb, break on get_symbol_constant_value

maybe I've messed something up - but setting a break on
get_symbol_constant_value ..
.. the cc1obj just completes with Program exited normally'.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #13 from developer at sandoe-acoustics dot co dot uk  
2010-02-14 21:13 ---
Created an attachment (id=19864)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19864action=view)
gdb-output for CLASS_REFERENCES_0 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #15 from developer at sandoe-acoustics dot co dot uk  
2010-02-14 21:53 ---
(In reply to comment #14)
 That doesn't make sense.  The symbol is not TREE_READONLY.
 
 Was that dump from inside get_symbol_constant_value?

yes.
that was from a clean bootstrap of trunk 156760.

 As the extract only happens from CCP2 I suppose that ipa-reference might
 be setting TREE_READONLY on the decl becaue it's static and not written to?
 So, can you try with -fno-ipa-reference?  (-fdump-ipa-reference should
 show read-only var OBJC_CLASS_REFERENCES_0 if that is the problem)

-fdump-ipa-reference - is unrecognized on my build - do I need a config. option
to enable?
-fdump-ipa-all doesn't seem to give a file named as reference...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #16 from developer at sandoe-acoustics dot co dot uk  
2010-02-14 21:55 ---
Created an attachment (id=19866)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19866action=view)
gimple for cascading-1.m @ trunk 156760


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #18 from developer at sandoe-acoustics dot co dot uk  
2010-02-14 22:11 ---
Created an attachment (id=19867)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19867action=view)
-fdump-ipa-all/static-var cascading-1.m @ trunk 156760

this is with normal options (i.e. the default for ipa-reference)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #19 from developer at sandoe-acoustics dot co dot uk  
2010-02-14 22:16 ---
Created an attachment (id=19868)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19868action=view)
cascading-1.m/-fdump-ipa-all/pure-const @ trunk 15670

this is with -fno-ipa-reference.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #21 from developer at sandoe-acoustics dot co dot uk  
2010-02-14 23:22 ---
Created an attachment (id=19870)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19870action=view)
asm out from -O1 -g cascading-1.m @trunk 156760

this is the current asm output - it segfaults on the objc msg call.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #23 from developer at sandoe-acoustics dot co dot uk  
2010-02-14 23:57 ---
(In reply to comment #22)
 There are no modifications visible in the assembly.  But there is magic:
 
 .objc_cls_refs
 .align 2
 L_OBJC_CLASS_REFERENCES_0:
 .long   L_OBJC_CLASS_NAME_0
 
 what is .objc_cls_refs?

DEF_SECTION (objc_cls_refs_section, SECTION_MERGE, .objc_cls_refs, 1)

If I've got this correct - this is implementing the constraint that class names
are global in the NeXT runtime [at least at release 0/1].  I assume that the
section merge arranges that all references to class FOO point to the same and
unique class definition. 

  Well, obviously some Objective-C maintainer needs to chime in and explain
 things.

indeed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061



[Bug bootstrap/42842] New: missing _MOVE_RATIO

2010-01-22 Thread developer at sandoe-acoustics dot co dot uk
ranlib: file: libbackend.a(graphite-scop-detection.o) has no symbols
ranlib: file: libbackend.a(graphite-sese-to-poly.o) has no symbols
ranlib: file: libbackend.a(vmsdbgout.o) has no symbols
ranlib: file: libbackend.a(xcoffout.o) has no symbols
Undefined symbols:
  _MOVE_RATIO, referenced from:
  _analyze_all_variable_accesses in libbackend.a(tree-sra.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [cc1-dummy] Error 1
make[2]: *** [all-stage1-gcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [bootstrap] Error 2

last known good bootstrap (by me on this platform) 155942.


-- 
   Summary: missing _MOVE_RATIO
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
 GCC build triplet: powerpc-apple-darwin9
  GCC host triplet: powerpc-apple-darwin9
GCC target triplet: powerpc-apple-darwin9


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42842



[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.

2010-01-22 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #15 from developer at sandoe-acoustics dot co dot uk  
2010-01-22 09:38 ---
successful tests on darwin8/darwin9 and no further reported issues.


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41605



[Bug bootstrap/41446] in-tree GMP/MPFR requires c++ as stage 1 lang; 2 object compares fail.

2010-01-22 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2010-01-22 
09:42 ---
this has been resolved without any specific action - presumably as a byproduct
of fixing other issues.


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41446



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2010-01-22 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #63 from developer at sandoe-acoustics dot co dot uk  
2010-01-22 09:59 ---
this is fixed AFAIK.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888



[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.

2010-01-04 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #14 from developer at sandoe-acoustics dot co dot uk  
2010-01-04 11:49 ---
(In reply to comment #13)
 Is this bug now fixed?

AFAICT, yes  - comment #9 is not the result of this patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41605



[Bug bootstrap/42424] in-tree GMP/MPFR/MPC bootstrap fails

2010-01-02 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #2 from developer at sandoe-acoustics dot co dot uk  2010-01-02 
16:41 ---
(In reply to comment #1)
 I was able to do a C-only bootstrap of mainline with all three libraries
 in-tree on x86_64-unknown-linux-gnu.  I used mpc-0.8, mpfr-2.4.2, gmp-4.3.1 
 and
... 
 1.  Is this a recent regression or has it always failed?
since the introduction of mpc - prior to that I had been using in-tree mpc/mpfr
with no issues.
[however the first version of mpc I've used is 0.8.1].
 2.  What versions of the various libraries did you use?
gmp-4-3-1, mpfr-2-4-1 source trees.
mpc-0.8.1 source tree
 3.  Does it fail with all versions of the libs or just some?
I haven't built with mpc prior to 0.8.1 - but these same gmp/mpfr versions
*were* OK prior to the introduction of mpc.
 4.  The targets listed include darwin9 and i686-linux, do they both fail for
 the same reason?
yes - configure fail for mpc.
 5.  Do you have other versions of gmp/mpfr installed somewhere that conflict
 with the bootstrap?
no, I don't install any of these libs on darwin.  
I have installed on i686-linux *since*, but the fault occurred on a fresh
ubuntu 9.10 install.

 6.  Is there more info or investigation you can provide?
make check (mpc part) also fails when the mpc is built in tree - even when the
gm/mpfr libs are supplied using --with-{gmp,mpfr}= ... this perhaps points at
an mpc config change between 0.8 and 0.8.1 - since 0.8 works for you.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42424



[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.

2009-12-31 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #10 from developer at sandoe-acoustics dot co dot uk  
2009-12-31 17:07 ---
(In reply to comment #9)

 FAIL: gfortran.dg/gomp/recursion1.f90  -Os  execution test

There are two problems:

1) there is a problem with specifying -fopenmp twice on the CL
   gfortran.dg/gomp/gomp.exp specifies it and so does the testcase (but I guess
we should be robust to this)?

2) there needs to be a -B for libgomp in the gfortran.dg/gomp section of the
testsuite.

===

I don't think there's any problem with the actual code generated by the patch,
it seems to be substituting as required.

I'll look into making sure that there's only one -fopenmp on the CL 
... and supplying the missing -B /path/to/libgomp 

gfortran.dg/gomp/recursion1.f9 is a new test - (29th of Dec) and thrown up a
problem not seen before 

you can regress the patch if you like - but I'd prefer to fix the testsuite
problems...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41605



[Bug objc/35165] Massive failures of objc on i686-apple-darwin9

2009-12-23 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #6 from developer at sandoe-acoustics dot co dot uk  2009-12-23 
15:04 ---

http://gcc.gnu.org/ml/gcc-patches/2009-12/msg01081.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35165



[Bug bootstrap/42424] New: in-tree GMP/MPFR/MPC bootstrap fails.

2009-12-18 Thread developer at sandoe-acoustics dot co dot uk
155320 

configure: error: libgmp not found or uses a different ABI.
make[2]: *** [configure-stage1-mpc] Error 1
make[1]: *** [stage1-bubble] Error 2
make: *** [bootstrap] Error 2

NOTE; in-tree mpc works if gmp/mpfr are installed  referenced with
--with-gmp/--with-mpfr.


-- 
   Summary: in-tree GMP/MPFR/MPC bootstrap fails.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
 GCC build triplet: *-apple-darwin9, i686-pc-linux-gnu
  GCC host triplet: *-apple-darwin9, i686-pc-linux-gnu
GCC target triplet: *-apple-darwin9, i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42424



[Bug bootstrap/42400] New: objc build fails

2009-12-17 Thread developer at sandoe-acoustics dot co dot uk
most likely the changes of 155302 are the cause.

../../gcc-4-5-libwork/gcc/objc/objc-act.c: In function ‘objc_substitute_decl’:
../../gcc-4-5-libwork/gcc/objc/objc-act.c:3118:14: error: incompatible type for
argument 3 of ‘build_indirect_ref’
../../gcc-4-5-libwork/gcc/c-common.h:465:13: note: expected ‘ref_operator’ but
argument is of type ‘const char *’
../../gcc-4-5-libwork/gcc/objc/objc-act.c: In function ‘build_ivar_reference’:
../../gcc-4-5-libwork/gcc/objc/objc-act.c:6826:14: error: incompatible type for
argument 3 of ‘build_indirect_ref’
../../gcc-4-5-libwork/gcc/c-common.h:465:13: note: expected ‘ref_operator’ but
argument is of type ‘const char *’
../../gcc-4-5-libwork/gcc/objc/objc-act.c: In function ‘get_super_receiver’:
../../gcc-4-5-libwork/gcc/objc/objc-act.c:8844:10: error: incompatible type for
argument 3 of ‘build_indirect_ref’
../../gcc-4-5-libwork/gcc/c-common.h:465:13: note: expected ‘ref_operator’ but
argument is of type ‘const char *’
cc1: warnings being treated as errors
../../gcc-4-5-libwork/gcc/objc/objc-act.c: In function ‘build_ivar_reference’:
../../gcc-4-5-libwork/gcc/objc/objc-act.c:6827:1: error: control reaches end of
non-void function
make[3]: *** [objcp/objcp-act.o] Error 1
make[2]: *** [all-stage2-gcc] Error 2
make[1]: *** [stage2-bubble] Error 2
make: *** [bootstrap] Error 2


-- 
   Summary: objc build fails
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
 GCC build triplet: i686-pc-linux-gnu, i686-apple-darwin
  GCC host triplet: i686-pc-linux-gnu, i686-apple-darwin
GCC target triplet: i686-pc-linux-gnu, i686-apple-darwin


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42400



[Bug bootstrap/42400] objc build fails

2009-12-17 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #2 from developer at sandoe-acoustics dot co dot uk  2009-12-17 
11:30 ---
Created an attachment (id=19337)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19337action=view)
apply the new ref_operator to objc-act.c

this is a mechanical change to the file, bootstrapped and checked on
i686-apple-darwin9


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42400



[Bug c++/41596] handling of library-related options by g++spec.c causes a failure when generating pch.

2009-12-17 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #2 from developer at sandoe-acoustics dot co dot uk  2009-12-17 
19:51 ---
Created an attachment (id=19339)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19339action=view)
updated patch to allow specification of -static-libstdc++ on the CL while
generating PCH


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

  Attachment #18715|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41596



[Bug c++/41596] handling of library-related options by g++spec.c causes a failure when generating pch.

2009-12-17 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #3 from developer at sandoe-acoustics dot co dot uk  2009-12-17 
19:54 ---
the patch has been modified following the discussions in:
http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00862.html
http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00855.html

to re-write -static-libstdc++ onto the command line even if the target
supports -BStatic/dynamic.
This allows such targets the option of spec substution.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41596



[Bug testsuite/42348] Syntax of dg-skip-if in two obj-c++ tests

2009-12-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #4 from developer at sandoe-acoustics dot co dot uk  2009-12-14 
16:47 ---
there are several problems:

1/ the target-supports tests fail if called with ObjC/ObjC++ specific flags
(e.g. -fgnu-runtime).

2/ there is no specific target-supports test for OBJC2 (which is needed for
64bit Next Runtime support)

3/ The tests for the gnu-runtime library usage are failing in
testsuite/lib/objc.exp and obj-c++.exp. [they only detect if -fgnu-runtime is
placed in the dg-options, rather than also checking the multilib options].

to allow you guys to test and comment, I'll attach patches for all three
problems here - although maybe they should be three separate PRs.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42348



[Bug testsuite/42348] Syntax of dg-skip-if in two obj-c++ tests

2009-12-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #5 from developer at sandoe-acoustics dot co dot uk  2009-12-14 
16:50 ---
Created an attachment (id=19290)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19290action=view)
add support for ObjC/ObjC++ and an effective target OBJ2 test

when -fnext-runtime, -fgnu-runtime, nostdinc++ are used the testfile suffix
needs to be .m/.mm as appropriate.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42348



[Bug testsuite/42348] Syntax of dg-skip-if in two obj-c++ tests

2009-12-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #6 from developer at sandoe-acoustics dot co dot uk  2009-12-14 
16:54 ---
Created an attachment (id=19291)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19291action=view)
changes to recognize correctly which ObjC runtime is in use

this (a) tracks the -fgnu-runtime/-fnext-runtime flags to detect which is in
force.
The libobjc-gnu is added and also made available as a %s substitution.
The gnu-includes are added when the gnu runtime is in use.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42348



[Bug testsuite/42348] Syntax of dg-skip-if in two obj-c++ tests

2009-12-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #7 from developer at sandoe-acoustics dot co dot uk  2009-12-14 
16:56 ---
Created an attachment (id=19292)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19292action=view)
changes to recognize correctly which ObjC runtime is in use

this (a) tracks the -fgnu-runtime/-fnext-runtime flags to detect which is in
force.
The libobjc-gnu is added and also made available as a %s spec substitution.
The gnu-includes are added when the gnu runtime is in use.
%s spec  substitution is also catered for for the stdc++-v3 library


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42348



[Bug testsuite/42348] Syntax of dg-skip-if in two obj-c++ tests

2009-12-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #8 from developer at sandoe-acoustics dot co dot uk  2009-12-14 
16:59 ---
with the patches above;

testsuite/obj-c++.dg/const-str-9.mm should have:
/* { dg-do compile { target *-*-darwin* } } */
/* { dg-skip-if  { *-*-darwin* } { -fgnu-runtime } {  } } */
/* { dg-skip-if  { *-*-darwin*  { lp64  { ! objc2 } } } { * } {  } }
*/

testsuite/obj-c++.dg/template-4.mm
/* { dg-do run } */
/* { dg-skip-if  { *-*-darwin*  { lp64  { ! objc2 } } } { * } {
-fgnu-runtime } } */

In fact, arguably all the ObjC/ObjC++ tests should have something along these
lines - it should reduce clutter until OBJC2 support is available in FSF gcc.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42348



[Bug target/41473] [4.5 Regression] dsymutil Assertion failed ...

2009-12-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #98 from developer at sandoe-acoustics dot co dot uk  
2009-12-14 18:31 ---
i686-apple-darwin9 bootstraps without dsymutil fails at 155225, thanks Jakub.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41473



[Bug testsuite/42348] Syntax of dg-skip-if in two obj-c++ tests

2009-12-11 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #2 from developer at sandoe-acoustics dot co dot uk  2009-12-11 
13:35 ---
(In reply to comment #1)
 In general you can answer what we think is best by checking the llvm-gcc
 sources from llvm, and in this case, we are using:
 
 /* { dg-options -fnext-runtime -fno-constant-cfstrings } */

delete -fno-constant-cfstrings

   For template-4.mm:
 
 /* { dg-do run { target powerpc*-*-darwin* } } */

why is this being restricted to darwin (and powerpc at that)?  The testcase
appears to cater for gnu runtime too...

 /* { dg-require-effective-target ilp32 } */

Having said this -- we have a global problem with using ?lp32/64 in ObjC/ObjC++
testcases along with -fgnu-runtime.  This flag causes xgcc/g++ to print a
warning - which means that these target supports tests always fail for
-fgnu-runtime.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42348



[Bug testsuite/42348] Syntax of dg-skip-if in two obj-c++ tests

2009-12-11 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #3 from developer at sandoe-acoustics dot co dot uk  2009-12-11 
14:08 ---
(In reply to comment #2)
 (In reply to comment #1)
For template-4.mm:
  
  /* { dg-do run { target powerpc*-*-darwin* } } */
 
 why is this being restricted to darwin (and powerpc at that)?  The testcase
 appears to cater for gnu runtime too...

well.. it does work for -fgnu-runtime, on i686 darwin9 at least...  so {
target powerpc*-*-darwin* } should probably be deleted.

However, it ONLY works if the compiler is installed -- objc/NXConstStr.h is not
found otherwise (this is a separate problem, of course).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42348



[Bug other/42333] complex division failure on darwin10 with -lm

2009-12-09 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #20 from developer at sandoe-acoustics dot co dot uk  
2009-12-09 11:37 ---
(In reply to comment #17)
 (In reply to comment #15)
  (In reply to comment #13)
   You can try filing a bug report at Apple, but I think a better route 
   would be
   to see if we can avoid linking in the system ___divdc3  from FSF GCC.

Summary (for Dominique's test case):

working [regardless of placement of -lm]:
Darwin 9 [ppc/i686]
Apple 4.0,4.2 
FSF 4.5 

Darwin 10
Apple 4.0, 4.2
FSF 4.5 without -lm

FSF 4.5 fails with the placement of -lm  (which causes linkage of
/usr/lib/libSystem version of  ___divdc3)

the latter can be emulated using Apple's 4.2 by compiling the asm output from
FSF 4.5 for Dominique's test case.

So; Apple's two compilers that produce in-line code for ___divdc3 are
apparently 'doing the right thing' (in spite of your concern about potential
optimization issues).  We might look at porting the relevant .md sections to
FSF ... 

The regression is in the library version of ___divdc3 supplied in Darwin10
(i.e. nothing to do with FSF gcc);  This could be radared (although as you say
there is not much motivation to fix something that is unused). 

I repeat my earlier question:  
Why is -lm being used for this test case?  
Darwin, AFAIR, does not use -lm . { see comment in gcc/config/darwin.h #define
MATH_LIBRARY  }

(of course, one could argue that it should be harmless, in an ideal world)



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42333



[Bug other/42333] complex division failure on darwin10 with -lm

2009-12-09 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #22 from developer at sandoe-acoustics dot co dot uk  
2009-12-09 15:21 ---
(In reply to comment #21)
 As a workaround in gcc I suggest to strip -lm in the darwin specific specs

one could also suggest the following patch to unix.exp (or providing a darwin 
infrastructure):

@@ -30,8 +30,8 @@

 #set_board_info host_library_path [file dirname [file dirname [file dirname
[file dirname [file dirname [exec [find_gcc] --print-prog-name=cc1]]/lib

-# Do not use -lm on Cygwin 
-if { [istarget *-*-cygwin*] } {
+# Do not use -lm on Cygwin or Darwin 
+if { [istarget *-*-cygwin*] || [istarget *-*-darwin*]  } {
 set_board_info mathlib 
 }



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42333



[Bug other/42333] complex division failure on darwin10 with -lm

2009-12-09 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #24 from developer at sandoe-acoustics dot co dot uk  
2009-12-09 17:36 ---
(In reply to comment #21)
 As a workaround in gcc I suggest to strip -lm in the darwin specific specs
 processing.  Otherwise this is not a GCC bug (again), but a darwin bug - why
 do they always creep into gcc bugzilla ...

well, the bug here is either in the gcc testsuite or dejagnu (depending on
one's pov).  The compiler behaves as expected when provided with the correct
linker flags.  The fact that this issue reveals an underlying Darwin10 bug is
incidental (that bug should never bite us).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42333



[Bug other/42333] complex division failure on darwin10 with -lm

2009-12-08 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #8 from developer at sandoe-acoustics dot co dot uk  2009-12-08 
20:27 ---
(In reply to comment #6)

A *Very* quick look following a prompt from Jack...

 Considering that builtin-math-7.c doesn't exist in gcc 4.4 branch, it is
 unclear what that test should do there. Try reverting out the libgcc_ext
 changes from gcc trunk on darwin10 instead.

removing the _ext should have no effect since -lgcc, which follows it, but
precedes the -lSystem should cause the math function to be linked statically
from libgcc.a (4.5 version)
[the _ext will cause it to be linked dynamically from libgcc_s (4.5 version)]

it seems on the face of it that there's different behavior from this function
as supplied by the Darwin environment [libmath=libSystem] and as supplied by
gcc. 

Of course, it's also possible that the code differs between the static and
dynamic builds of libgcc... 


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

 CC||developer at sandoe-
   ||acoustics dot co dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42333



[Bug other/42333] complex division failure on darwin10 with -lm

2009-12-08 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #9 from developer at sandoe-acoustics dot co dot uk  2009-12-08 
20:51 ---

 version 125.0.0)
 /usr/lib/system/libmathCommon.A.dylib (compatibility version 1.0.0,
 current version 315.0.0)
 [macbook] f90/bug% nm /usr/lib/libSystem.B.dylib | grep divdc3
 0019fa1e S $ld$hide$os10.4$___divdc3
 0019fa1f S $ld$hide$os10.5$___divdc3
 001640d0 T ___divdc3

This will cause a difference in behavior:
 for Darwin9
___divdc3 is provided by /usr/lib/libgcc_s.1.dylib

libm.dylib = libSystem.dylib (which does not define ___divdc3) 

So, for darwin 10, -lm will cause the system ___divdc3 to be used instead of
the gcc one.

For Darwin 9 there is no system provided ___divdc3 (AFAICT) .. it is supplied
from libgcc_s.1.dylib.

if this is a reproducible effect with a short piece of code - one would expect
if to manifest using Apple's  supplied 4.2 ... and a radar could be filed.

I was under the impression that -lm was not used by default for Darwin
(determined in the build of the gcc driver) - is this flag being manually added
by the test case?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42333



[Bug other/42333] complex division failure on darwin10 with -lm

2009-12-08 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #12 from developer at sandoe-acoustics dot co dot uk  
2009-12-08 23:40 ---
(In reply to comment #11)
 I think I understand why apple gcc42 does not show the problem: it does not
 call ___divdc3:
 
 [macbook] f90/bug% diff -up pr42333_42.s pr42333_45.s
 --- pr42333_42.s2009-12-08 23:00:29.0 +0100
 +++ pr42333_45.s2009-12-08 23:00:07.0 +0100
 ...
 @@ -15,68 +15,61 @@ LCFI2:
 movq%rax, -16(%rbp)
 movabsq $9214364837600034815, %rax
 movq%rax, -8(%rbp)
 -   movq-16(%rbp), %rax
 -   movq-8(%rbp), %rdx
 -   movq%rax, -24(%rbp)
 -   movsd   -24(%rbp), %xmm1
 +   movq-16(%rbp), %rdx
 +   movq-8(%rbp), %rax
 movq%rdx, -24(%rbp)
 movsd   -24(%rbp), %xmm0
 -   movapd  %xmm0, %xmm2
 -   addsd   %xmm1, %xmm2
 -   movapd  %xmm0, %xmm3
 -   subsd   %xmm1, %xmm3
 -   movsd   LC1(%rip), %xmm0
 -   movapd  %xmm2, %xmm1
 -   divsd   %xmm0, %xmm1
 -   movsd   LC1(%rip), %xmm0
 -   movapd  %xmm3, %xmm2
 -   divsd   %xmm0, %xmm2
 -   movapd  %xmm2, %xmm0
 -   movsd   %xmm1, -24(%rbp)
 -   movq-24(%rbp), %rax
 +   movq%rax, -24(%rbp)
 +   movsd   -24(%rbp), %xmm1
 +   movsd   LC2(%rip), %xmm3
 +   movsd   LC2(%rip), %xmm2
 +   call___divdc3
 movsd   %xmm0, -24(%rbp)
 movq-24(%rbp), %rdx
 ...
 
 This also explain why the test compiled with -c and 4.5, but linked with 4.2
 fails. So my guess about the lazy complex division seems right in libm. Could
 someone write a C code forcing the use of ___divdc3?

hmm.. indeed and, in fact, Apple's gcc-4.0 does not call ___divdc3 either (in
fact, in a quick go at manipulation of options I couldn't find a case forcing
either to call it).

As far as generation of a test case is concerned - why not just use the asm
generated by 4.5?

I'll crank up a mini with D10 tomorrow (if possible).. if the asm gives a fault
on D10 with 4.2 then that should be a file-able radar.

.. seems likely that there are two things here: 1. we seem to be generating
(probably) less efficient code than older versions of the compiler ... and 2.
possibly the ___divdc3 in /usr/lib/libSystem is faulty?

has anyone tried this on PPC?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42333



[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.

2009-10-14 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #5 from developer at sandoe-acoustics dot co dot uk  2009-10-14 
11:20 ---
(In reply to comment #4)
 Oh, if one wanted to, one could have libgcc_s forward the EH calls into
 /usr/lib/libgcc_s.1.dylib by dlopening it and then doing dlsym on the symbols
 and calling them.  This would `fix' the programs that linked against a gcc
 libgcc_s file that uses EH when run on a system that has EH on the system. 
 With that technology, I think all the mismatching here, just goes away.

note1: the dependent fixes for static-libstdc++ are 41594/41596.

Would you accept the solution proposed here as suitable at present?
Noting that eh forwarding could be a useful enhancement at some future time?

Even with potential forwarding of eh it is still desirable to enable a
statically linked executable for those cases where such is useful [excepting
that libSystem is always dynamic].


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41605



[Bug target/41605] New: Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.

2009-10-06 Thread developer at sandoe-acoustics dot co dot uk
if libgcc (for example) is linked statically the eh comes from the static link,
however, other libraries (e.g. libfortran or libstdc++) which are still linked
dynamically can refer to a different eh in libSystem.

The same problem can occur when libgfortran/libstdc++/libgcc are linked
statically and libgomp remains dynamic.


-- 
   Summary: Static linking of libgcc/libgfortran/libstdc++ can cause
inconsistent symbol resolution.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
 GCC build triplet: *-apple-darwin*
  GCC host triplet: *-apple-darwin*
GCC target triplet: *-apple-darwin*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41605



[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.

2009-10-06 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2009-10-06 
15:56 ---
Created an attachment (id=18727)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18727action=view)
make sure that static linking of libraries is consistent

this patch provides:
(a) new spec with direct resolution for libgomp that provides a static version
LINK_COMMAND_SPECS for darwin and darwin9+
(b) file replacement specs for libstdc++.

dependencies:
if  static libgcc = link libgomp, libgfortran, libstdc++ statically
if static libstdc++ || libgfortran || libgcc link libgomp statically.

bootstrapped on powerpc-apple-darwin8, i686-apple-darwin9.
object checked by hand with otool for correct library refs, reg-tested for
check-target-libgomp {m32,m64}{-static-libgcc,
static-libgfortran,static-libstdc++,}

Note static-libstdc++ will not work without changes on PR4194/PR4196


log:
   *gcc/config/darwin.h(LINK_COMMAND_SPEC): Resolve fopenmp specifically
for target
(LINK_SPEC): replace dynamic libraries by static equivalents where
necessary
   *gcc/config/darwin9.h(LINK_COMMAND_SPEC): Resolve fopenmp specifically
for target


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41605



[Bug testsuite/41609] New: Torture tests do not check trivial.{m,mm} for each run case.

2009-10-06 Thread developer at sandoe-acoustics dot co dot uk
This means that which tests are run could depend on the order in which (say)
-m32, -m64 are given in RUNTESTFLAGS.  It also produces a lot of non-useful
error output on dawin9/10 where the next runtime is not yet usable with gcc.


-- 
   Summary: Torture tests do not check trivial.{m,mm} for each run
case.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
GCC target triplet: *-apple-darwin*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41609



[Bug testsuite/41609] Torture tests do not check trivial.{m,mm} for each run case.

2009-10-06 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2009-10-06 
17:03 ---
Created an attachment (id=18728)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18728action=view)
Make the trivial test run for each options pass. 


log:
   *gcc/testsuite/lib/objc-torture.exp: New proc (objc-set-runtime-options)
to be run each pass 
through the suite.  Do not try to run m64 tests on darwin8 which has no
64bit Next Runtime
   *gcc/testsuite/objc/execute/execute.exp: Check applicable runtime
options on each pass.
   *gcc/testsuite/objc/execute/exceptions/exceptions.exp: Ditto.
   *gcc/testsuite/objc/compile/compile.exp: Ditto.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41609



[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.

2009-10-06 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #2 from developer at sandoe-acoustics dot co dot uk  2009-10-06 
17:07 ---
Created an attachment (id=18729)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18729action=view)
provide -B options to allow spec replacement like libxx.a%s.

you will need this for the testsuite to find the static libs.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41605



[Bug driver/41594] New: -static-libstdc++ is not recognized as valid by the gcc driver.

2009-10-05 Thread developer at sandoe-acoustics dot co dot uk
although the option is parsed by g++spec.c it is not accepted by gcc.


-- 
   Summary: -static-libstdc++ is not recognized as valid by the gcc
driver.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: driver
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
 GCC build triplet: *-*-*
  GCC host triplet: *-*-*
GCC target triplet: *-*-*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41594



[Bug driver/41594] -static-libstdc++ is not recognized as valid by the gcc driver.

2009-10-05 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2009-10-05 
19:39 ---
Created an attachment (id=18713)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18713action=view)
recognize -static-libstdc++ as a valid option

log: 
   *gcc/gcc.c: Add -static-libstdc++ to list of recognized options.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41594



[Bug objc++/41595] New: object-c++ mangled local labels are not correctly recognized.

2009-10-05 Thread developer at sandoe-acoustics dot co dot uk
Originally (radar: 5202926)

we need to make objective c internal labels local.  At present the name-mangled
ones are not recognized.


-- 
   Summary: object-c++ mangled local labels are not correctly
recognized.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: objc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
 GCC build triplet: *-apple-darwin*
  GCC host triplet: *-apple-darwin*
GCC target triplet: *-apple-darwin*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41595



[Bug objc++/41595] object-c++ mangled local labels are not correctly recognized.

2009-10-05 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2009-10-05 
20:04 ---
Created an attachment (id=18714)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18714action=view)
recognize name-mangled obj-c++ internal symbols.

this is modeled on the mechanism of the fix for the radar applied to apple
local 4.2.

However; this implementation it is different in that I have re-written it such
that its effect is local to darwin.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41595



[Bug c++/41596] New: handling of library-related options by g++spec.c causes a failure when generating pch.

2009-10-05 Thread developer at sandoe-acoustics dot co dot uk
The recognition of any library-related option in g++-spec.c causes the
insertion of  -lstdc++.  This causes link to be invoked when trying to
generate PCH, which then fails.  This bit me when trying to run the testsuite
with /-static-libstdc++

The behavior here appears to differ from gcc where one can put -static-libgcc
on the CL and the link phase is not invoked for PCH-generation.


-- 
   Summary: handling of library-related options by g++spec.c causes
a failure when generating pch.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: developer at sandoe-acoustics dot co dot uk
 GCC build triplet: *-*-*
  GCC host triplet: *-*-*
GCC target triplet: *-*-*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41596



[Bug c++/41596] handling of library-related options by g++spec.c causes a failure when generating pch.

2009-10-05 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #1 from developer at sandoe-acoustics dot co dot uk  2009-10-05 
20:25 ---
Created an attachment (id=18715)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18715action=view)
allow specification of -static-libstdc++ on the CL while generating PCH

this patch alters the behavior of g++spec.c such that it 
(a) notes if libstdc++ is needed
(b) notes if the user has requested static-libstdc++

It only outputs -lstdc++ if the lib is needed- and when it does it decides on
the mechanism depending on the availability of static options. 

Finally, for platforms that don't have Bstatic/Bdynamic - it places
static-libstdc++ back into the command line so that link specs can use it to
trigger substitution.

log:
  *gcc/cp/g++spec.c(lang_specific_driver): Do not insert -lstdc++ unless we
really need it.  
   Insert 'static-libstdc++' for platforms without Bstatic/Bdynamic to
allow link spec substitution.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41596



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-10-02 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #59 from developer at sandoe-acoustics dot co dot uk  
2009-10-02 08:17 ---
Created an attachment (id=18691)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18691action=view)
libext patch with ext on as default, debug flag removed and white space changes
removed.

This should, hopefully, be final. 

Reg-tests have completed successfully on i686-apple-darwin9 and
x86_64-apple-darwin10 at m32 and m64. 

log:
*libgcc/config/t-slibgcc-darwin: Fix embedded rpaths for
--enable-version-specific-runtime-libs, build extension stub libs exposing
newer features available from current libgcc_s.
*gcc/config/darwin.h: Use the extension stub libraries to access newer
libgcc_s features.

Unfortunately, together that still makes changes amounting to 39 lines.   
However, I will post the reg test results and cross-reference them to here;  
I will post the patch and a changelog after that.

Given that this issue was raised before the 4.4 branch - I assume that it
should also be back-ported?
 (I'd imagine the patch would just apply, in fact)


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

  Attachment #17769|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-10-02 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #60 from developer at sandoe-acoustics dot co dot uk  
2009-10-02 10:39 ---
Reg test results:

powerpc-apple darwin8 :
http://gcc.gnu.org/ml/gcc-testresults/2009-10/msg00141.html

i686-apple-darwin9: http://gcc.gnu.org/ml/gcc-testresults/2009-10/msg00142.html
compare without patch :
http://gcc.gnu.org/ml/gcc-testresults/2009-10/msg00144.html
[show no new fails and a considerable number of extra passes]

x86_64-apple-darwin10:
http://gcc.gnu.org/ml/gcc-testresults/2009-10/msg00143.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-10-01 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #55 from developer at sandoe-acoustics dot co dot uk  
2009-10-01 08:36 ---
(In reply to comment #54)
 The new libgcc_s.dylib appears to be only of the native target architecture...

it's best thought of not as new but different - it's the target for the
Makefile libgcc_s$(SHLIB_EXT).

In fact, we used to have intermediate targets (xxx.dylib.tmp) which you will
see are no longer present.

if you check the ***gcc directories, you will see that this intermediate file
is not installed in the staging - nor is it installed by make install.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-10-01 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #57 from developer at sandoe-acoustics dot co dot uk  
2009-10-01 17:22 ---
(In reply to comment #56)
 Okay. So no problem. What do you think is the best way to default on
 libgcc-ext? Just using...

I'm reg-testing on powerpc-apple-d8, i686-apple-d9 and x86_64-apple-d10
with this:

Index: gcc/config/darwin.h
===
--- gcc/config/darwin.h (revision 152363)
+++ gcc/config/darwin.h (working copy)
@@ -391,12 +391,16 @@
 #define REAL_LIBGCC_SPEC  \
%{static-libgcc|static: -lgcc_eh -lgcc;   \
   shared-libgcc|fexceptions|fgnu-runtime: \
-   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4)   \
-   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5)   \
+   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4 )  \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5 )  \
+   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
-lgcc; \
-  :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
-   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5)   \
-   -lgcc}
+  :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4 )  \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5 )  \
+   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
+  -lgcc } 

 /* We specify crt0.o as -lcrt0.o so that ld will search the library path.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-09-30 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #50 from developer at sandoe-acoustics dot co dot uk  
2009-09-30 16:58 ---
Created an attachment (id=18677)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18677action=view)
further simplified lib ext patch

after some discussion with Ian Lance Taylor, I took another look at
libgcc/config/t-slibgcc-darwin.
This had a bug [extra dependencies] causing the second link of libgcc_s* during
the install-leaf phase (where the libsubdir is ).  This was causing the wrong
rpaths in the libs.

So now we don't need to chance configure.ac and the changes are confined to
darwin-specific code.

However, there are two changes rolled together here (a) the fix for the buggy
rpaths and (b) the changes to provide the libgcc_ext* and use them.   I can
separate them once the overall process is finally approved (although Mike has
already said OK to a slightly larger version of this).


-- 

developer at sandoe-acoustics dot co dot uk changed:

   What|Removed |Added

  Attachment #17770|0   |1
is obsolete||
  Attachment #17771|0   |1
is obsolete||
  Attachment #18644|0   |1
is obsolete||
  Attachment #18657|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888



  1   2   >