[gomp] import gcc/stor-layout.c pls

2005-10-02 Thread Christian Joensson
... the recent fix in mainline of gcc/stor-layout.c... could someone
pls import that into the gomp branch too?


--
Cheers,

/ChJ


gcc

2005-10-02 Thread Bill Cunningham
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

2005-10-02 Thread Bernhard R. Link
* 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

2005-10-02 Thread Jon Masters
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

2005-10-02 Thread Andrew Haley
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

2005-10-02 Thread Joe Buck
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

2005-10-02 Thread Jon Masters
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

2005-10-02 Thread Jonathan Wakely

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

2005-10-02 Thread Daniel Berlin
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

2005-10-02 Thread Daniel Berlin

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

2005-10-02 Thread Daniel Berlin
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

2005-10-02 Thread Kean Johnston

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

2005-10-02 Thread Jan Hubicka
> 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

2005-10-02 Thread Tommy Vercetti
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

2005-10-02 Thread Daniel Berlin



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

2005-10-02 Thread Kean Johnston

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

2005-10-02 Thread Daniel Berlin



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

2005-10-02 Thread Daniel Jacobowitz
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

2005-10-02 Thread Kean Johnston

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?

2005-10-02 Thread Marcin Dalecki
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?

2005-10-02 Thread Marcin Dalecki


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?

2005-10-02 Thread Paolo Bonzini


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?

2005-10-02 Thread Andrew Pinski
> > 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?

2005-10-02 Thread Marcin Dalecki


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?

2005-10-02 Thread Shantonu Sen
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?

2005-10-02 Thread Marcin Dalecki


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?

2005-10-02 Thread Marcin Dalecki


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

2005-10-02 Thread Nicholas Nethercote

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?

2005-10-02 Thread Marcin Dalecki


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?

2005-10-02 Thread Peter O'Gorman

-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....

2005-10-02 Thread Renju Anand

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."

-