[gomp] import gcc/stor-layout.c pls
... the recent fix in mainline of gcc/stor-layout.c... could someone pls import that into the gomp branch too? -- Cheers, /ChJ
gcc
Hi I'm new to the list. Wow it's great. Why isn't Richard Stallman working on gcc? I'm new to compiler design and I'm looking to learn all I can. I guess I'll have to catch on on the fly. Bill
Re: Wishlish: GCC option for explicit booleans
* Peter Lupton NCH Swift Sound <[EMAIL PROTECTED]> [051002 05:47]: > I was hoping was that we could at least have a compile option. So we could > turn it on if required. I would definitely mandate it in our organization > at least. I am sure others would too. I'd looked into getting some boolean checking into the C compiler (I am personally not that interested in C++), but gcc has this "truthvalues are ints" quite heavily built in (which is not very suprising, after all the standard says the are). Attached is a experimental patch to make the C compiler do boolean checking by making truthvalues of type bool instead of int and checking for them. This definitly breaks the standard, as it changed the actual type. It would be much nicer if there was some kind of "shadow types", that would be only used for some additional warnings and not for code generation. That way I think it would still be C standard conform, but having looked only a very little into the gcc source, I cannot even guess if it is possible and how much time it would need to implement that. While the patch cleary shows my little knowledge of the gcc code, and switches truthvalue checking on unconditionally (and changes C semantics, so I really suggest to not use it for anything but type checking), it found some bugs in code I checked with it. (Which of course already was written in a way it keeps truthvalues and integers seperate, such a feature is only sensible if you have such a policy from the start). It also has suprisingly few false positives, once one #define __builtin_expect(a,b) (a) #define __builtin_constant_p(a) (__builtin_constant_p(a) != 0) and encapsulates all ctype.h functions... Hochachtungsvoll, Bernhard R. Link Index: gcc/c-common.c === RCS file: /cvsroot/gcc/gcc/gcc/c-common.c,v retrieving revision 1.653 diff -u -r1.653 c-common.c --- gcc/c-common.c 27 Sep 2005 16:04:06 - 1.653 +++ gcc/c-common.c 2 Oct 2005 12:30:10 - @@ -2323,6 +2323,10 @@ tree c_common_truthvalue_conversion (tree expr) { + if (TREE_TYPE (expr) != truthvalue_type_node) +{ + warning (0, "Implicit truth value"); +} switch (TREE_CODE (expr)) { case EQ_EXPR: case NE_EXPR: case UNEQ_EXPR: case LTGT_EXPR: Index: gcc/c-decl.c === RCS file: /cvsroot/gcc/gcc/gcc/c-decl.c,v retrieving revision 1.685 diff -u -r1.685 c-decl.c --- gcc/c-decl.c29 Sep 2005 21:34:24 - 1.685 +++ gcc/c-decl.c2 Oct 2005 12:30:10 - @@ -2714,10 +2714,11 @@ c_common_nodes_and_builtins (); - /* In C, comparisons and TRUTH_* expressions have type int. */ - truthvalue_type_node = integer_type_node; - truthvalue_true_node = integer_one_node; - truthvalue_false_node = integer_zero_node; + truthvalue_type_node = boolean_type_node; + /* For this to work, it has to be 0 and 1, which theese are, + * but it is a bit ugly that truthvalue is a C frontend speciality */ + truthvalue_true_node = boolean_true_node; + truthvalue_false_node = boolean_false_node; /* Even in C99, which has a real boolean type. */ pushdecl (build_decl (TYPE_DECL, get_identifier ("_Bool"), Index: gcc/c-parser.c === RCS file: /cvsroot/gcc/gcc/gcc/c-parser.c,v retrieving revision 2.22 diff -u -r2.22 c-parser.c --- gcc/c-parser.c 8 Sep 2005 13:09:28 - 2.22 +++ gcc/c-parser.c 2 Oct 2005 12:30:11 - @@ -4172,7 +4172,7 @@ if (pedantic) pedwarn ("ISO C forbids omitting the middle term of a ?: expression"); /* Make sure first operand is calculated only once. */ - exp1.value = save_expr (default_conversion (cond.value)); + exp1.value = save_expr (default_truth_conversion (cond.value)); cond.value = c_objc_common_truthvalue_conversion (exp1.value); skip_evaluation += cond.value == truthvalue_true_node; } @@ -4180,7 +4180,7 @@ { cond.value = c_objc_common_truthvalue_conversion - (default_conversion (cond.value)); + (default_truth_conversion (cond.value)); skip_evaluation += cond.value == truthvalue_false_node; exp1 = c_parser_expression_conv (parser); skip_evaluation += ((cond.value == truthvalue_true_node) @@ -4425,14 +4425,14 @@ stack[sp].expr = default_function_array_conversion (stack[sp].expr); stack[sp].expr.value = c_objc_common_truthvalue_conversion - (default_conversion (stack[sp].expr.value)); + (default_truth_conversion (stack[sp].expr.value)); skip_evaluation += stack[sp].expr.value == truthvalue_false_node; break; case TRUTH_ORIF_EXPR: stack[sp].expr = default_function_array_conversion (stack[sp].expr); stack[sp].expr.value = c_objc_common_truthvalue_conversion - (default_conver
[URGENT] GCC 4.0 Nomination
Folks, GCC 4.0 has been shortlisted in this year's Linux Awards: * http://www.linuxawards.co.uk/content/view/14/40/ * Best Linux/Open Source Developer Tool. BUT...none of the folks in the office can apparently contact anyone about being available to attend the dinner next week in London, UK. Can someone suitably involved with the project urgently contact either myself or (preferably) Maggie Meer <[EMAIL PROTECTED]> about this? Cheers! Jon. pgpaFrQRsJT0A.pgp Description: PGP signature
Re: [URGENT] GCC 4.0 Nomination
Jon Masters writes: > > GCC 4.0 has been shortlisted in this year's Linux Awards: > > * http://www.linuxawards.co.uk/content/view/14/40/ > * Best Linux/Open Source Developer Tool. > > BUT...none of the folks in the office can apparently contact anyone > about being available to attend the dinner next week in London, UK. Can > someone suitably involved with the project urgently contact either myself or > (preferably) Maggie Meer <[EMAIL PROTECTED]> about this? Going from the mailing lists there are about ten of us heavily involved in gcc here in the UK. I'm not sure how you'd choose someone, given that gcc is a collective effort. Andrew.
Re: gcc
On Sun, Oct 02, 2005 at 08:28:03AM -0400, Bill Cunningham wrote: > Hi I'm new to the list. Wow it's great. Why isn't Richard Stallman > working on gcc? He was promoted to management. :-)
Re: [URGENT] GCC 4.0 Nomination
On Sun, Oct 02, 2005 at 04:50:41PM +0100, Andrew Haley wrote: jcm>> GCC 4.0 has been shortlisted in this year's Linux Awards: jcm>> * http://www.linuxawards.co.uk/content/view/14/40/ > Going from the mailing lists there are about ten of us heavily > involved in gcc here in the UK. I'm not sure how you'd choose > someone, given that gcc is a collective effort. Absolutely. This is the situation and we're very much aware that none of the projects which have been nominated for Wednesday's Awards are one man bands - you'll see we have others like Eclipse, Mozilla, etc. etc. all in there and all of them are multinational efforts. But we need to find someone who is comfortable to accept the award on behalf of the team - otherwise GCC will be the only project which is not represented at the event. We understand the value of GCC (do a Google search on my name for example) and just want to give recognition. Jon. pgpqPOlHjHyQ7.pgp Description: PGP signature
Bugzilla error
I like the new theme, by the way. I've just tried to add a comment to a bug I created yesterday and got this error: Unknown Known To Work Version 3.3.3 is not a known version for use in the known to work field. The legal versions are listed in the version popup. I've been able to add the comment now so the problem's fixed, but the error is a bit confusing, as there is no version popup if you're editing an existing bug. There's a "Target Milestone" dropdown, which is about as close as anything on the page, but the two lists are not the same. Even on the new bug page there's a Version select box, not a popup. Not terribly critical to fix, obviously :) jon
Moving to subversion, gonna eat me a lot of peaches
So, now that the new machine is working, i'm starting to get a lot of questions about moving to subversion. The answer is thus: 1. My laptop, where i keep all the test stuff and scripts, is about to be sent back to IBM for repair (I have backups, etc, it's just i don't want to be converting for real without the machine i'm used to doing it on). They estimate 5-7 days. 2. There are a few server side scripts to be converted, but this is easy. 3. viewcvs needs to be setup on the new machine for svn. 4. The new svnmailer config (which replaces log_accum) needs to be set up and tested. It would be nice to get help here from people familiar with how all the current mail goes where it goes to set this up. Docs on svnmailer can be found at http://opensource.perlig.de/en/svnmailer/doc-1.1/ 5. Actually converting. I will take care of the notifying bugzilla part of 4. I can take care of 3 during the week on the test repo. 4 mainly consists of converting the current loginfo details into an svnmailer config file. It actually should be rather easy. As for the rest of the server side scripts, the current wwwdocs/bugzilla checkout scripts will become trivial, AFAICT, since they just need to do a single svn update in the base wc, and will get the right results. BJE has converted most of the client side scripts in the contrib directory. I have to see what is left and conver the rest. So, hopefully, i should be able to get the administrative pieces of conversion out of the way this week, and have a testable repo that sends commit emails properly by next week. Assuming this is the case, i'll set a date for conversion as a week later than when i get my laptop back, and will send a followup email with the exact date. Subversion 1.3, with the rest of the client speedups we were looking for, will be branched in the next week or two, and released a few weeks after that, so i'm not worried about waiting for it. The current conversion time is 26 hours including all the apple tags, and 14 hours not including them (the way they are tagged makes them a bit wonky). If anything goes wrong after conversion, i have a script that should be able to turn svn commits back into cvs ones, if it becomes necessary to fallback to cvs. --Dan
Re: Bugzilla error
This was fixed about 20 minutes ago :), or should have been. I'll change the wording of the error message. On Sun, 2 Oct 2005, Jonathan Wakely wrote: I like the new theme, by the way. I've just tried to add a comment to a bug I created yesterday and got this error: Unknown Known To Work Version 3.3.3 is not a known version for use in the known to work field. The legal versions are listed in the version popup. I've been able to add the comment now so the problem's fixed, but the error is a bit confusing, as there is no version popup if you're editing an existing bug. There's a "Target Milestone" dropdown, which is about as close as anything on the page, but the two lists are not the same. Even on the new bug page there's a Version select box, not a popup. Not terribly critical to fix, obviously :) jon
Re: Bugzilla error
BTW, anyone who has bugzilla errors, please either email me, or find me on irc.oftc.net (Nick: DannyB) and i'll fix them immediately for you. On Sun, 2 Oct 2005, Daniel Berlin wrote: This was fixed about 20 minutes ago :), or should have been. I'll change the wording of the error message. On Sun, 2 Oct 2005, Jonathan Wakely wrote: I like the new theme, by the way. I've just tried to add a comment to a bug I created yesterday and got this error: Unknown Known To Work Version 3.3.3 is not a known version for use in the known to work field. The legal versions are listed in the version popup. I've been able to add the comment now so the problem's fixed, but the error is a bit confusing, as there is no version popup if you're editing an existing bug. There's a "Target Milestone" dropdown, which is about as close as anything on the page, but the two lists are not the same. Even on the new bug page there's a Version select box, not a popup. Not terribly critical to fix, obviously :) jon
Re: Moving to subversion, gonna eat me a lot of peaches
Daniel Berlin wrote: So, now that the new machine is working, i'm starting to get a lot of questions about moving to subversion. If you're going to move to svn (which idea doesn't thrill me) then I hope that the repo will be an FSFS one and not BerkeleyDB? I realize that FSFS hasn't has as much airtime as BDB but I think the FSFS model is intrinsically better than the BDB one. A filesystem is a lot more likely to be bug-free than BDB is. There are also a plethora of tools you can fix FS problems with, but almost nothing you can fix BDB databases with. Kean
[3.4] fixup_reorder_chain fix
> Hi Jan, > > I think fixup_reorder_chain contains questionable code to cope with a > pathological case: > > /* The degenerated case of conditional jump jumping to the next >instruction can happen on target having jumps with side >effects. > >Create temporarily the duplicated edge representing branch. >It will get unidentified by force_nonfallthru_and_redirect >that would otherwise get confused by fallthru edge not pointing >to the next basic block. */ > if (!e_taken) > { > rtx note; > edge e_fake; > bool redirected; > > e_fake = unchecked_make_edge (bb, e_fall->dest, 0); > > redirected = redirect_jump (BB_END (bb), > block_label (bb), 0); > gcc_assert (redirected); > > Note the call to redirect_jump that creates a loop. It is responsible for > the > ICE on the attached Ada testcase with the 3.4.5pre compiler at -O3 because > the > edge and the jump disagree on the target. > > The final patch: http://gcc.gnu.org/ml/gcc-cvs/2003-03/msg01294.html > The original version: http://gcc.gnu.org/ml/gcc-patches/2003-03/msg02097.html > > Am I right in thinking that the call to redirect_jump must be removed? Hi, this is patch I am testing to fix the bug. I apologize for delay on fixing it. I was on conference without my usual setup so building Ada was bit challenging. Since this code is so rarely excercised I would welcome if you run the Ada testsuite on it. To summarize some of offlist discussion. The actual problem is -fnon-call-exception (enabled by default by Ada) preventing GCC from removing the conditional branch to next instruction. THis results in fallthru and branch edge to be indentified excercising interesting side corners of cfglayout code previously used only by HP-PA. The orignal hack created duplicated edge that resulted in CFG breaking our invariants and since we added more sanity checking, it fires now. The current workaround is to redirect the branch edge to form self-loop around the current BB and redirect it properly later in function. I tried this once before in past but it falled into cracks when the conditonal formed infinite self loop, so I went the way of duplicated edges. Alternate sollution is to create new basic block destination in this very side case that I am doing now. At least on artifically constructed testcases it seems to work as expected. Honza Index: cfglayout.c === RCS file: /cvs/gcc/gcc/gcc/cfglayout.c,v retrieving revision 1.50.4.2 diff -c -3 -p -r1.50.4.2 cfglayout.c *** cfglayout.c 7 Oct 2004 06:11:59 - 1.50.4.2 --- cfglayout.c 2 Oct 2005 17:28:40 - *** fixup_reorder_chain (void) *** 636,641 --- 636,643 edge e_fall, e_taken, e; rtx bb_end_insn; basic_block nb; + edge edge_to_redirect = NULL; + basic_block new_dest; if (bb->succ == NULL) continue; *** fixup_reorder_chain (void) *** 664,681 instruction can happen on target having jumps with side effects. !Create temporarily the duplicated edge representing branch. !It will get unidentified by force_nonfallthru_and_redirect !that would otherwise get confused by fallthru edge not pointing !to the next basic block. */ if (!e_taken) { rtx note; edge e_fake; ! e_fake = unchecked_make_edge (bb, e_fall->dest, 0); ! if (!redirect_jump (BB_END (bb), block_label (bb), 0)) abort (); note = find_reg_note (BB_END (bb), REG_BR_PROB, NULL_RTX); if (note) --- 666,689 instruction can happen on target having jumps with side effects. !Redirect branch to construct a loop around current branch !so the branch and fallthru edges are no longer identified. !Once the fallthru is broken up, the original branch is redirected !back. */ if (!e_taken) { rtx note; edge e_fake; + basic_block fake_target = bb; ! /* Even more side case: It is possible that the conditional is forming !infinite self loop so redirecting to BB would be no-op. Create new !temporary dest for this that will be elliminated later in cfgcleanup. */ ! if (e_fall->dest == bb) ! fake_target = create_basic_block (NULL, NULL, EXIT_BLOCK_PTR->prev_bb); ! e_fake = unchecked_
Re: Moving to subversion, gonna eat me a lot of peaches
On Sunday 02 October 2005 19:27, Kean Johnston wrote: > Daniel Berlin wrote: > > So, now that the new machine is working, i'm starting to get a lot of > > questions about moving to subversion. > > If you're going to move to svn (which idea doesn't thrill me) > then I hope that the repo will be an FSFS one and not BerkeleyDB? > I realize that FSFS hasn't has as much airtime as BDB but I think > the FSFS model is intrinsically better than the BDB one. A > filesystem is a lot more likely to be bug-free than BDB is. > There are also a plethora of tools you can fix FS problems > with, but almost nothing you can fix BDB databases with. KDE is running on svn with filesystem backend for a bit now, and everything's ok. So.. I think KDE's repo is much bigger than GCC's. -- Vercetti
Re: Moving to subversion, gonna eat me a lot of peaches
On Sun, 2 Oct 2005, Kean Johnston wrote: Daniel Berlin wrote: So, now that the new machine is working, i'm starting to get a lot of questions about moving to subversion. If you're going to move to svn (which idea doesn't thrill me) Why doesn't it thrill you? then I hope that the repo will be an FSFS one and not BerkeleyDB? Yes. I'm a subversion developer. I'm pretty aware of the problems in BDB. :)
Re: Moving to subversion, gonna eat me a lot of peaches
Why doesn't it thrill you? I think svn is a great tool, don't get me wrong. Very well written and got all the features one could want. But I don't know (or see) the actual problem you are trying to solve. cvs seems to be wroking really well for gcc. The weaknesses of cvs, such as the pain of renaming and moving directories, isn't really an issue for that codebase (at least not very often). Maybe I am just being too conservative but for a project as stable and vital to teh community as gcc, changing something as fundamental as its SCM should come with a pretty big long set of justifictions (all coolness factors waived). There's a lot of infrastructure behind the current CVS (all the ssh access control, integration with bugzilla, automated mailings, all manner of things) that would need to be updated. Its not just a matter of changing the repository format and fixing viewcvs. I know you are aware of all of that too, this isn't news. So I guess I'd like to know: what is the actual problem or problems you aim to solve by moving to svn? then I hope that the repo will be an FSFS one and not BerkeleyDB? Yes. I'm a subversion developer. I'm pretty aware of the problems in BDB. :) I knoew your name sounded familiar :) Kean
Re: Moving to subversion, gonna eat me a lot of peaches
On Sun, 2 Oct 2005, Kean Johnston wrote: Why doesn't it thrill you? I think svn is a great tool, don't get me wrong. Very well written and got all the features one could want. But I don't know (or see) the actual problem you are trying to solve. cvs seems to be wroking really well for gcc. You have never tried to maintain a branch then. It is not "working well". a lot of infrastructure behind the current CVS (all the ssh access control, integration with bugzilla, automated mailings, all manner of things) that would need to be updated. Uh, all of which are taken care of very easily. YOu are talking maybe a day or so worth of work. Its not just a matter of changing the repository format and fixing viewcvs. I know you are aware of all of that too, this isn't news. So I guess I'd like to know: what is the actual problem or problems you aim to solve by moving to svn? The fact that tagging takes an hour, and people regularly spend 20 minutes waiting for locks. I care not about renaming files at all.
Re: Moving to subversion, gonna eat me a lot of peaches
On Sun, Oct 02, 2005 at 11:32:50AM -0700, Kean Johnston wrote: > >Why doesn't it thrill you? > I think svn is a great tool, don't get me wrong. Very well > written and got all the features one could want. But I > don't know (or see) the actual problem you are trying to > solve. cvs seems to be wroking really well for gcc. The > weaknesses of cvs, such as the pain of renaming and > moving directories, isn't really an issue for that codebase > (at least not very often). Hi Kean, Rather than starting up this discussion on gcc@ again, could you please go read the list archives? I feel like you've missed a couple of years of context here, including the last few times we discussed why a switch was in order. CVS is not working well for GCC at all. -- Daniel Jacobowitz CodeSourcery, LLC
Re: Moving to subversion, gonna eat me a lot of peaches
Rather than starting up this discussion on gcc@ again, could you please go read the list archives? I feel like you've missed a couple of years of context here, including the last few times we discussed why a switch was in order. Its not necessary, I wasn't trying to start a debate. I was simply answering Daniel's question. I'm just a lowly consumer, I will use whatever tool is required to access the sources. Kean
Fishy build system: make_exports.pl called on darwin?
During a build attempt of gcc-20051001 and more secnt on darwin 10.8 I have discovered that apparently for some unknown reason make_exports.pl get's called during th libstdc++ build and fails miserably: > libstdc++-symbol.explist || (rm -f libstdc++-symbol.explist ; exit 1) nm -P .libs/bitmap_allocator.o .libs/pool_allocator.o .libs/ mt_allocator.o .libs /codecvt.o .libs/compatibility.o .libs/complex_io.o .libs/ ctype.o .libs/debug.o .libs/debug_list.o .libs/functexcept.o .libs/globals_locale.o .libs/ globals_io.o .libs/ios.o .libs/ios_failure.o .libs/ios_init.o .libs/ ios_locale.o .libs/limit s.o .libs/list.o .libs/locale.o .libs/locale_init.o .libs/ locale_facets.o .libs/ localename.o .libs/stdexcept.o .libs/strstream.o .libs/tree.o .libs/ allocator-in st.o .libs/concept-inst.o .libs/fstream-inst.o .libs/ext-inst.o .libs/ io-inst.o .libs/istream-inst.o .libs/istream.o .libs/locale-inst.o .libs/locale- misc-inst. o .libs/misc-inst.o .libs/ostream-inst.o .libs/sstream-inst.o .libs/ streambuf-in st.o .libs/streambuf.o .libs/string-inst.o .libs/valarray- inst.o .libs/wlocale-i nst.o .libs/wstring-inst.o .libs/atomicity.o .libs/ codecvt_members.o .libs/colla te_members.o .libs/ctype_members.o .libs/messages_members.o .libs/ monetary_membe rs.o .libs/numeric_members.o .libs/time_members.o .libs/ basic_file.o .libs/c++lo cale.o ../libmath/.libs/libmath.a ../libsupc++/.libs/libsupc+ +convenience.a|nm: no name list nm: no name list nm error at /Users/dalecki/BUILD/gcc-4.1-20051001/libstdc++-v3/ scripts/make_expo rts.pl line 130. make[3]: *** [libstdc++-symbol.explist] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all] Error 2 Checking the corresponding Makefile.am I can see that this is used in the context of ENABLE_SYMVERS_DARWIN_EXPORT: if ENABLE_SYMVERS_DARWIN_EXPORT version_arg = -Wl,-exported_symbols_list,libstdc++-symbol.explist version_dep = libstdc++-symbol.explist libstdc++-symbol.explist : ${glibcxx_srcdir}/$(SYMVER_MAP) \ ${glibcxx_srcdir}/scripts/make_exports.pl \ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) perl ${glibcxx_srcdir}/scripts/make_exports.pl \ ${glibcxx_srcdir}/$(SYMVER_MAP) \ $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \ `echo $(libstdc___la_LIBADD) | \ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \ > $@ || (rm -f $@ ; exit 1) else version_arg = version_dep = endif This macros get's set according to acinclude.m4 in libstdc++ for builds which utilize the glibc. Heck? What's the purpose here? Fortunately there is no such thing as the glibc on this system at all. Looking at the m4 macro I can't quite see how to fix this problem myself: AC_SUBST(SYMVER_MAP) AC_SUBST(port_specific_symbol_files) GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_GNU, test $enable_symvers == gnu) GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_DARWIN_EXPORT, dnl test $enable_symvers == darwin-export) AC_MSG_NOTICE(versioning on shared library symbols is $enable_symvers) Looking up a bit further in the acinclude.m4 I can see that enable_symvers is enabled unconditionally if the target_os is darwin. This seems to be just completely wrong anyway. Maybe there is some development version out there utilizing this bloat hub? I'm right now not in the mood to dive myself in to the non-formal, fragile, how to waste time chasing broken by design system, world of autoconf/automake. Just adding --diable-symvers seems to easy for now. However I think the above should at least provide sufficient information to someone with a fetish on this to propery fix the issue at hand easly. Thanks.
Re: Fishy build system: make_exports.pl called on darwin?
On 2005-10-02, at 23:45, Paolo Bonzini wrote: 2) Why do you think that symbol versioning is exclusive to glibc? I don't. I look at the the results of it. 3) You can of course think that glibc is evil, but how is it related? Oh no... I got just immersed by the GLIBCXX prefixing over there and guessed that it's related to the glibc instead of the GNU-libstdc++ name. Argh. 4) Who in their right minds would add glibc-specific code naming it ENABLE_SYMVERS_DARWIN_EXPORT (*darwin*)? Same answer as to 3). I'm right now not in the mood to dive myself in to the non- formal, fragile, how to waste time chasing broken by design system, world of autoconf/automake. 5) Can you suggest any better alternative? We are all ears. FreeBSD at least manages much of an paralell build system. A declarative system, which doesn't rely that much on host system testing would be helpfull and much easier to handle. I'm quite convinced that it would require right now far less effort to maintain then what is spend overall on the auto stuff. 6) Is this whining reporting significant information, for the person that wants to fix the bug? Well on the system in question ppc-apple-darwin-7.8.0 the perl script in question simply doesn't work. Since there doesn't appear to be much in the way of it inside acinclude.m4 it appears that setting unconditionally enable_symvers inside the following: # Turn a 'yes' into a suitable default. if test x$enable_symvers = xyes ; then if test $enable_shared = no || test "x$LD" = x ; then enable_symvers=no elif test $with_gnu_ld == yes ; then enable_symvers=gnu else case ${target_os} in darwin*) enable_symvers=darwin-export ;; *) AC_MSG_WARN([=== You have requested some kind of symbol versioning, but]) AC_MSG_WARN([=== you are not using a supported linker.]) AC_MSG_WARN([=== Symbol versioning will be disabled.]) enable_symvers=no ;; esac fi fi seems to be not quite right.
Re: Fishy build system: make_exports.pl called on darwin?
I see more trolling than bug reporting here. This macros get's set according to acinclude.m4 in libstdc++ for builds which utilize the glibc. Heck? What's the purpose here? Fortunately there is no such thing as the glibc on this system at all. Looking at the m4 macro I can't quite see how to fix this problem myself: 1) Why do you think that symbol versioning is evil? 2) Why do you think that symbol versioning is exclusive to glibc? 3) You can of course think that glibc is evil, but how is it related? 4) Who in their right minds would add glibc-specific code naming it ENABLE_SYMVERS_DARWIN_EXPORT (*darwin*)? I'm right now not in the mood to dive myself in to the non-formal, fragile, how to waste time chasing broken by design system, world of autoconf/automake. 5) Can you suggest any better alternative? We are all ears. 6) Is this whining reporting significant information, for the person that wants to fix the bug? Paolo
Re: Fishy build system: make_exports.pl called on darwin?
> > 6) Is this whining reporting significant information, for the > > person that wants to fix the bug? > > Well on the system in question ppc-apple-darwin-7.8.0 the perl script > in question simply doesn't work. Since there doesn't appear to be > much in the way of it inside acinclude.m4 it appears that setting > unconditionally enable_symvers inside the following: This perl script works just fine for me on powerpc-darwin7.9.0 I don't see why are we piping the output to nm when it should be piping nm's output to c++filt. Also this perl script works fine on powerpc-darwin7.4.0 also. -- Pinski
Re: Fishy build system: make_exports.pl called on darwin?
On 2005-10-03, at 00:26, Andrew Pinski wrote: 6) Is this whining reporting significant information, for the person that wants to fix the bug? Well on the system in question ppc-apple-darwin-7.8.0 the perl script in question simply doesn't work. Since there doesn't appear to be much in the way of it inside acinclude.m4 it appears that setting unconditionally enable_symvers inside the following: I can confirm now that --disable-symvers worked fine on my system. This perl script works just fine for me on powerpc-darwin7.9.0 I don't see why are we piping the output to nm when it should be piping nm's output to c++filt. Also this perl script works fine on powerpc-darwin7.4.0 also. Well to be a bit more precise I have the following at hand: uname -a Darwin dzc14.neoplus.adsl.tpnet.pl 8.2.0 Darwin Kernel Version 8.2.0: Fri Jun 24 17:46:54 PDT 2005; root:xnu 792.2.4.obj~3/RELEASE_PPC Power Macintosh powerpc The configure scripting drama translates this in to: ppc-apple-darwin7.8.0. I'm not quite sure if this is correct since guessing the GCC version interpretation here I would expect this to came out as: ppc-apple-darwin7.9.2 aka: Tiger darwin 10.4.2 A fairly plain system without any additional fink darwinports or similar packages. Perhaps this could be the cause that we have basically different nm programs in action here?
Re: Fishy build system: make_exports.pl called on darwin?
You're making a lot of terrible assumptions and drawing several incorrect conclusions. xnu-792 is not the same as "darwin7.9.2", and no configure script in the last 6 years should be detecting a Mac OS X system as "ppc-apple-darwin" (it should be "powerpc-apple-darwin"). What is the output of % uname -r % type uname % /usr/share/libtool/config.guess If you have GNU coreutils installed, something bad may be happening. Shantonu On Oct 2, 2005, at 3:42 PM, Marcin Dalecki wrote: On 2005-10-03, at 00:26, Andrew Pinski wrote: 6) Is this whining reporting significant information, for the person that wants to fix the bug? Well on the system in question ppc-apple-darwin-7.8.0 the perl script in question simply doesn't work. Since there doesn't appear to be much in the way of it inside acinclude.m4 it appears that setting unconditionally enable_symvers inside the following: I can confirm now that --disable-symvers worked fine on my system. This perl script works just fine for me on powerpc-darwin7.9.0 I don't see why are we piping the output to nm when it should be piping nm's output to c++filt. Also this perl script works fine on powerpc-darwin7.4.0 also. Well to be a bit more precise I have the following at hand: uname -a Darwin dzc14.neoplus.adsl.tpnet.pl 8.2.0 Darwin Kernel Version 8.2.0: Fri Jun 24 17:46:54 PDT 2005; root:xnu 792.2.4.obj~3/ RELEASE_PPC Power Macintosh powerpc The configure scripting drama translates this in to: ppc-apple-darwin7.8.0. I'm not quite sure if this is correct since guessing the GCC version interpretation here I would expect this to came out as: ppc-apple-darwin7.9.2 aka: Tiger darwin 10.4.2 A fairly plain system without any additional fink darwinports or similar packages. Perhaps this could be the cause that we have basically different nm programs in action here?
Re: Fishy build system: make_exports.pl called on darwin?
On 2005-10-03, at 00:42, Marcin Dalecki wrote: I'm not quite sure if this is correct since guessing the GCC version interpretation here I would expect this to came out as: ppc-apple-darwin7.9.2 aka: Tiger darwin 10.4.2 Trying to find out where the actual name mangling occured I have found the following inside config.sub: # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. ... case $basic_machine in ... *-apple) os=-macos ;; ... esac. This seems to be inadequate to the current reality at least. Similar references found there like for example: -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; are at best tribute to history. However grepping a bit showed that it's config.guess, which is responsible for the host name mangling. It contains the following tidbit: $ {UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}. This suggests that one has to look at the UNAME_RELEASE. Well the initial setting is derived from uname -r. This shows on my system: uname -r 8.2.0 This would let us expect: powerpc-aaple-darwin8.2.0 Thus still there is something strange going on later. The following doesn't mangle it either: dzc14:~/BUILD/gcc-4.1-20051001 dalecki$ ./config.guess powerpc-apple-darwin8.2.0 dzc14:~/BUILD/gcc-4.1-20051001 dalecki$ ./config.sub powerpc-apple- darwin8.2.0 powerpc-apple-darwin8.2.0 So where the hell does it happen? Thoes are the symptoms which justify my strong personal aversion against autoconf/automake...
Re: Fishy build system: make_exports.pl called on darwin?
On 2005-10-03, at 00:49, Shantonu Sen wrote: You're making a lot of terrible assumptions and drawing several incorrect conclusions. xnu-792 is not the same as "darwin7.9.2", and no configure script in the last 6 years should be detecting a Mac OS X system as "ppc-apple-darwin" (it should be "powerpc-apple- darwin"). I was just tyring to find out what those "wonderfull scripts do... and came already basically to the same as you. What is the output of % uname -r % type uname % /usr/share/libtool/config.guess Just for reassurance: $ uname -r 8.2.0 $ type uname uname is hashed (/usr/bin/uname) $ /usr/share/libtool/config.guess powerpc-apple-darwin8.2.0 Still no seven involved. If you have GNU coreutils installed, something bad may be happening. No I didn't mess with the system at all.
Re: Wishlish: GCC option for explicit booleans
On Sat, 1 Oct 2005, [EMAIL PROTECTED] wrote: C++ would be a better language if the boolean type did not implicitly convert from int. For example, many novice programmers make the mistake. if (i = j) dosomething(); // Should be i == j If conversion to boolean required explicit this would all be solved. It would mean all the old code with expressions like "while (p) ... " would need to be changed to "while (p != NULL) ...". But I think the change would be well justified. What about a GCC option to turn off implicit conversion to boolean? [~] more a.cpp int main(void) { int i = 0, j = 0; if (i = j) return 0; else return 1; } [~] g++ -Wall a.cpp a.cpp: In function `int main()': a.cpp:4: warning: suggest parentheses around assignment used as truth value Nick
Re: Fishy build system: make_exports.pl called on darwin?
On 2005-10-03, at 00:26, Andrew Pinski wrote: This perl script works just fine for me on powerpc-darwin7.9.0 I don't see why are we piping the output to nm when it should be piping nm's output to c++filt. Also this perl script works fine on powerpc-darwin7.4.0 also. Turns out it was rpm getting in the middle of the game for me... case closed.
Re: Fishy build system: make_exports.pl called on darwin?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Marcin Dalecki wrote: | | On 2005-10-03, at 00:26, Andrew Pinski wrote: | |> |> This perl script works just fine for me on powerpc-darwin7.9.0 I don't |> see why are we piping the output to nm when it should be piping nm's |> output to c++filt. |> |> Also this perl script works fine on powerpc-darwin7.4.0 also. | | | Turns out it was rpm getting in the middle of the game for me... case | closed. I am quite curious as to how rpm got "in the middle of the game" here. Please explain. Peter -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.0 (Darwin) iQCVAwUBQ0CuEriDAg3OZTLPAQIj7gP/efOg0HzUQyg0Cwkf0/+pHPWyvwpLIYMq PJCzIYikL9C3dn/pgtweMV2zEmwSlLHLl9x5QEgY9WfFdr0TZtInT6p2tiEI+ZQ2 z76JD9a8cYZ3TOLd9jJPzzJhDL8ToKgrXql3BiefZjx+hIonYibfQSmu/LO0IzQh QbQBnseRW3o= =8gfR -END PGP SIGNATURE-
GCC Installation Problem - Please help....
Hi I'm facing compilation problem during GCC( 3.2.2 ) installation in LynxOS under x86 platform. Is there any specific options for gcc installation configuration under LynxOS ?. Any modifications needed for compilation?. If anyone experiences these problems before plz help me with the details Thanks in advance Renju - Disclaimer - "This message(including attachment if any)is confidential and may be privileged.Before opening attachments please check them for viruses and defects.MindTree Consulting Private Limited (MindTree)will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside.If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission." -