Re: Failure to build libjava on 512MB machine

2007-02-01 Thread Marco Trudel

Tom Tromey wrote:

"Benjamin" == Benjamin Kosnik <[EMAIL PROTECTED]> writes:


Benjamin> but I am
Benjamin> somewhat concerned with the response of the java maintainers (and
Benjamin> others) that it's OK to require >512MB to bootstrap gcc with java, or
Benjamin> that make times "WORKSFORME."

My proposal was more that, if it "WORKSFORUS", then I wouldn't bother
hacking on the build.  Build hacking is unpleasant and I am somewhat
motivated to avoid it.

Anyhow, I'm testing a patch for this case.  And, this will make it a
bit simpler to split other objects should it be needed.


Aren't you here solving the wrong problem? The problem that is caused by 
the real problem?
If it takes about 30 to 40min to build this html/parser.o and gnu-xml.o 
needs about 1 or 2 minutes but is - last time I took a look - a lot 
bigger than the html parser, shouldn't then be investigated why this 
html parser is such a hard thing?
Otherwise there might just come another object after some changes with 
the same problem...



Marco


Fwd: Compiling GCC

2007-02-01 Thread Paulo J. Matos

I forgot to send to the mailing list that the --disable-multilib from
Andrew worked. Thank you all.

:)

-- Forwarded message --
From: Paulo J. Matos <[EMAIL PROTECTED]>
Date: Jan 31, 2007 3:41 PM
Subject: Re: Compiling GCC
To: Andrew Haley <[EMAIL PROTECTED]>


On 1/31/07, Andrew Haley <[EMAIL PROTECTED]> wrote:

The problem might be that you don't have the target libs installed for
a multilib build.  Try --disable-multilib.



Done! :) Working now, thank you!


Andrew.




--
Paulo Jorge Matos - pocm at soton.ac.uk
http://www.personal.soton.ac.uk/pocm
PhD Student @ ECS
University of Southampton, UK


--
Paulo Jorge Matos - pocm at soton.ac.uk
http://www.personal.soton.ac.uk/pocm
PhD Student @ ECS
University of Southampton, UK


Re: After GIMPLE...

2007-02-01 Thread Paulo J. Matos

On 1/31/07, Diego Novillo <[EMAIL PROTECTED]> wrote:

Paulo J. Matos wrote on 01/31/07 11:26:

> So, ideally, I would like just the gcc part until the first part of
> the middleend where you have a 'no optimizations', language
> independent AST of the source file.
>
OK, so you probably want to inject your pass right before pass_build_ssa
(in init_optimization_passes).  All the facilities to traverse the IL
and flowgraph described in the Tree SSA section of the internals manual
should apply.



What can I do then to stop gcc to further process things? After
informing the user there's no more reason on my site to continue.


--
Paulo Jorge Matos - pocm at soton.ac.uk
http://www.personal.soton.ac.uk/pocm
PhD Student @ ECS
University of Southampton, UK


Use of INSN_CODE

2007-02-01 Thread Pranav Bhandarkar

Hi All,
I am using recog_memoized in the machine dependent reorg pass.
However, It is causing an ICE because unwittingly a CODE_LABEL is
getting passed to it.

I understand that CODE_LABEL is in the RTX_EXTRA class and intuitively
It is wrong to use INSN_CODE ( which is used in recog_memoized) on
CODE_LABEL simply because it is not int the RTX_INSN class.

However, the internals  only warn against using INSN_CODE on use,
clobber, asm_input, addr_vec, addr_diff_vec. There is no mention of
other members of the other members of RTX_EXTRA. or shouldnt
recog_memoized have an INSN_P check in it ?
Am I missing something here ?
TIA,
Pranav


Re: Use of INSN_CODE

2007-02-01 Thread Steven Bosscher

On 2/1/07, Pranav Bhandarkar <[EMAIL PROTECTED]> wrote:

However, the internals  only warn against using INSN_CODE on use,
clobber, asm_input, addr_vec, addr_diff_vec. There is no mention of
other members of the other members of RTX_EXTRA. or shouldnt
recog_memoized have an INSN_P check in it ?
Am I missing something here ?


recog* should ice if what it gets passed is not an insn (i.e. !INSN_P).

Gr.
Steven


Re: MIPS Wrong-code regression.

2007-02-01 Thread Andrew Haley
David Daney writes:
 > Tom Tromey wrote:
 > >> "David" == David Daney <[EMAIL PROTECTED]> writes:
 > > 
 > > David> The call to _ZN4java4lang6ObjectC1Ev is being generated as non-pic,
 > > David> even though that symbol is defined in libgcj.so.  The assembler and
 > > David> linker conspire to jump to address 0x for this call.
 > > 
 > > Could also be the problem reported at the end of:
 > > 
 > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30606
 > > 
 > > Tom
 > 
 > I suspect it is the same problem.  APH's patch would not have fixed it 
 > if it were.

OK.  Does your patch work?  If it does, I'm going to trace through jc1
to see if I can find the real origin of this regression.

TVM,
Andrew.



(OffTopic) trouble registering on www.gccsummit.org

2007-02-01 Thread Basile STARYNKEVITCH

Hello All,

Sorry for this off-topic message, but I have some troubles registering on
https://www.gccsummit.org/2007/login.php and my email to
[EMAIL PROTECTED] bounced.

My own email is [EMAIL PROTECTED]

Does anyone know who should I contact about the gccsummit.org web site or
registration system?

Regards, and apologies for this slightly off topic message! I hope someone
in charge of the gccsummit.org site would read it.

-- 
Basile STARYNKEVITCH http://starynkevitch.net/Basile/ 
email: basilestarynkevitchnet mobile: +33 6 8501 2359 
8, rue de la Faïencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***


Re: After GIMPLE...

2007-02-01 Thread Diego Novillo

Paulo J. Matos wrote on 02/01/07 04:37:


What can I do then to stop gcc to further process things? After
informing the user there's no more reason on my site to continue.

Stop gracefully or just stop?  The latter is easy.  The former involves 
writing code to skip all passes after a certain point, or just don't 
schedule the passes don't want to run.  See init_optimization_passes.


Re: After GIMPLE...

2007-02-01 Thread Paulo J. Matos

On 2/1/07, Diego Novillo <[EMAIL PROTECTED]> wrote:

Paulo J. Matos wrote on 02/01/07 04:37:

> What can I do then to stop gcc to further process things? After
> informing the user there's no more reason on my site to continue.
>
Stop gracefully or just stop?  The latter is easy.  The former involves
writing code to skip all passes after a certain point, or just don't
schedule the passes don't want to run.  See init_optimization_passes.



Well, I guessed the answer would be something like that... :)

I've already started working on it and everything seems ok up until
now so I'm on the right track. :)

Regards and thanks very much,

--
Paulo Jorge Matos - pocm at soton.ac.uk
http://www.personal.soton.ac.uk/pocm
PhD Student @ ECS
University of Southampton, UK


Re: Interesting build failure on trunk

2007-02-01 Thread Ismail Dönmez
On Wednesday 31 January 2007 11:26:38 Ismail Dönmez wrote:
> On Tuesday 30 January 2007 18:43:52 Ian Lance Taylor wrote:
> > Ismail Dönmez <[EMAIL PROTECTED]> writes:
> > > I am getting this when I try to compile gcc trunk:
> > >
> > > ../../libcpp/../include -I../../libcpp/include  -march=i686 -O2 -pipe
> > > -fomit-frame-pointer -U_FORTIFY_SOURCE -fprofile-use -W -Wall
> > > -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
> > > -Wold-style-definition -Wmissing-format-attribute -pedantic
> > > -Wno-long-long -Werror -I../../libcpp -I. -I../../libcpp/../include
> > > -I../../libcpp/include  -c -o files.o -MT files.o -MMD -MP -MF
> > > .deps/files.Po ../../libcpp/files.c ../../libcpp/files.c: In function
> > > 'read_name_map':
> > > ../../libcpp/files.c:1238: internal compiler error: Floating point
> > > exception Please submit a full bug report,
> > > with preprocessed source if appropriate.
> > > See http://gcc.gnu.org/bugs.html> for instructions.
> >
> > libcpp/files.c:1238 seems to be a call to memcpy.  I don't see
> > anyplace a floating point exception might come from.  I've certainly
> > never seen anything like that.
>
> I think this is an hardware error

Ok its not, I tried to build on AMD64 3500+ 1GB RAM ( unlike my Centrino 
laptop, totally different hardware ) and it crashes in the same exact way. 
now my guess is host compiler is somehow hosed , bad news for gcc 4.2 I 
guess.

Regards,
ismail




Re: Interesting build failure on trunk

2007-02-01 Thread Richard Guenther

On 2/1/07, Ismail Dönmez <[EMAIL PROTECTED]> wrote:

On Wednesday 31 January 2007 11:26:38 Ismail Dönmez wrote:
> On Tuesday 30 January 2007 18:43:52 Ian Lance Taylor wrote:
> > Ismail Dönmez <[EMAIL PROTECTED]> writes:
> > > I am getting this when I try to compile gcc trunk:
> > >
> > > ../../libcpp/../include -I../../libcpp/include  -march=i686 -O2 -pipe
> > > -fomit-frame-pointer -U_FORTIFY_SOURCE -fprofile-use -W -Wall
> > > -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
> > > -Wold-style-definition -Wmissing-format-attribute -pedantic
> > > -Wno-long-long -Werror -I../../libcpp -I. -I../../libcpp/../include
> > > -I../../libcpp/include  -c -o files.o -MT files.o -MMD -MP -MF
> > > .deps/files.Po ../../libcpp/files.c ../../libcpp/files.c: In function
> > > 'read_name_map':
> > > ../../libcpp/files.c:1238: internal compiler error: Floating point
> > > exception Please submit a full bug report,
> > > with preprocessed source if appropriate.
> > > See http://gcc.gnu.org/bugs.html> for instructions.
> >
> > libcpp/files.c:1238 seems to be a call to memcpy.  I don't see
> > anyplace a floating point exception might come from.  I've certainly
> > never seen anything like that.
>
> I think this is an hardware error

Ok its not, I tried to build on AMD64 3500+ 1GB RAM ( unlike my Centrino
laptop, totally different hardware ) and it crashes in the same exact way.
now my guess is host compiler is somehow hosed , bad news for gcc 4.2 I
guess.


This is probably PR30650 (just don't use profiledbootstrap).

Richard.


Re: trunk rev121458 dont bootstrap

2007-02-01 Thread H. J. Lu
On Thu, Feb 01, 2007 at 08:03:36AM +0100, Basile STARYNKEVITCH wrote:
> 
> Hello
> 
> (I don't know if the good mailing list for this is gcc@ or gcc-patches@)
> 
> Apparently trunk rev 121458 don't bootstrap on linux debian sid amd64 ie 
> x86_64-unknown-linux-gnu
> 
> I'm getting 
> 
> make[4]: Leaving directory 
> `/usr/src/Lang/gcc-trunk/_BootObj2/x86_64-unknown-linux-gnu/libgcc'
> /usr/src/Lang/gcc-trunk/_BootObj2/./gcc/xgcc 
> -B/usr/src/Lang/gcc-trunk/_BootObj2/./gcc/ 
> -B/usr/local/x86_64-unknown-linux-gnu/bin/ 
> -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem 
> /usr/local/x86_64-unknown-linux-gnu/include -isystem 
> /usr/local/x86_64-unknown-linux-gnu/sys-include -g -fkeep-inline-functions 
> -O2  -O2 -g -O2  -DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes 
> -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g 
> -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. 
> -I../.././gcc -I/usr/src/Lang/gcc-trunk/libgcc 
> -I/usr/src/Lang/gcc-trunk/libgcc/. -I/usr/src/Lang/gcc-trunk/libgcc/../gcc 
> -I/usr/src/Lang/gcc-trunk/libgcc/../include 
> -I/usr/src/Lang/gcc-trunk/libgcc/../libdecnumber -I../../libdecnumber -o 
> _muldi3.o -MT _muldi3.o -MD -MP -MF _muldi3.dep -DL_muldi3 -c 
> /usr/src/Lang/gcc-trunk/libgcc/../gcc/libgcc2.c \
>   -fvisibility=hidden -DHIDE_EXPORTS
> /usr/src/Lang/gcc-trunk/libgcc/../gcc/libgcc2.c: In function '__multi3':
> /usr/src/Lang/gcc-trunk/libgcc/../gcc/libgcc2.c:566: internal compiler error: 
> Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> 
> configured with 
> /usr/src/Lang/gcc-trunk/configure   --enable-maintainer-mode 
> --enable-languages=c
> 
> Does that seems familiar to anyone?
> 

http://gcc.gnu.org/ml/gcc-patches/2007-02/msg00067.html


H.J.


Re: MIPS Wrong-code regression.

2007-02-01 Thread David Daney

Andrew Haley wrote:

David Daney writes:
 > Tom Tromey wrote:
 > >> "David" == David Daney <[EMAIL PROTECTED]> writes:
 > > 
 > > David> The call to _ZN4java4lang6ObjectC1Ev is being generated as non-pic,

 > > David> even though that symbol is defined in libgcj.so.  The assembler and
 > > David> linker conspire to jump to address 0x for this call.
 > > 
 > > Could also be the problem reported at the end of:
 > > 
 > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30606
 > > 
 > > Tom
 > 
 > I suspect it is the same problem.  APH's patch would not have fixed it 
 > if it were.


OK.  Does your patch work?  If it does, I'm going to trace through jc1
to see if I can find the real origin of this regression.

  
I am testing a new patch that (I think) fixes the real problem.  I am 
not sure why it regressed as Richard added the code that was being made 
to fail last March.  The bad code was in class.c when green committed it 
over 8 years ago.  Several months ago Tromey removed it and then added 
it back a few days later.


The problem is that in is_compiled_class() we were erroneously saying 
that a candidate class was being emitted to the object file *if* it was 
the current_class being parsed.  This does not hold because many classes 
are parsed that are not emitted so that jc1 can calculate the class 
layout and load the symbol tables.


The real fix,I think, is the one I made to is_compiled_class().  I left 
the change to layout_class_method() where we don't re-check for 
DECL_EXTERNAL if it is already set as a micro-optimization.  I tested 
both with and without this and obtained correct results, so it is not 
really needed.


I also wonder if your previous patch setting DECL_EXTERNAL is still 
needed after this has been applied.  I didn't check.


I am currently regression testing the attached patch on 
x86_64-pc-linux-gnu, and will post it to gcc-patches@ if it passes.


David Daney.

Index: gcc/java/class.c
===
--- gcc/java/class.c	(revision 121441)
+++ gcc/java/class.c	(working copy)
@@ -2134,10 +2134,6 @@ is_compiled_class (tree class)
 return 1;
   if (TYPE_ARRAY_P (class))
 return 0;
-  /* We have to check this explicitly to avoid trying to load a class
- that we're currently parsing.  */
-  if (class == current_class)
-return 2;
 
   seen_in_zip = (TYPE_JCF (class) && JCF_SEEN_IN_ZIP (TYPE_JCF (class)));
   if (CLASS_FROM_CURRENTLY_COMPILED_P (class))
@@ -2147,7 +2143,7 @@ is_compiled_class (tree class)
 	 been loaded already. Load it if necessary. This prevent
 	 build_class_ref () from crashing. */
 
-  if (seen_in_zip && !CLASS_LOADED_P (class))
+  if (seen_in_zip && !CLASS_LOADED_P (class) && (class != current_class))
 load_class (class, 1);
 
   /* We return 2 for class seen in ZIP and class from files
@@ -2161,7 +2157,7 @@ is_compiled_class (tree class)
 	{
 	  if (CLASS_FROM_SOURCE_P (class))
 	safe_layout_class (class);
-	  else
+	  else if (class != current_class)
 	load_class (class, 1);
 	}
   return 1;
@@ -2510,10 +2506,12 @@ layout_class_method (tree this_class, tr
   tree method_name = DECL_NAME (method_decl);
 
   TREE_PUBLIC (method_decl) = 1;
+
   /* Considered external unless it is being compiled into this object
- file.  */
-  DECL_EXTERNAL (method_decl) = ((is_compiled_class (this_class) != 2)
- || METHOD_NATIVE (method_decl));
+ file, or it was already flagged as external.  */
+  if (!DECL_EXTERNAL (method_decl))
+DECL_EXTERNAL (method_decl) = ((is_compiled_class (this_class) != 2)
+   || METHOD_NATIVE (method_decl));
 
   if (ID_INIT_P (method_name))
 {


Re: Failure to build libjava on 512MB machine

2007-02-01 Thread Tom Tromey
> "Marco" == Marco Trudel <[EMAIL PROTECTED]> writes:

Marco> If it takes about 30 to 40min to build this html/parser.o and
Marco> gnu-xml.o needs about 1 or 2 minutes but is - last time I took a look
Marco> - a lot bigger than the html parser, shouldn't then be investigated
Marco> why this html parser is such a hard thing?

It is just a really big file.  If it still takes too much memory to
compile, I suppose I, or someone (hint, hint), will look at how to
shrink it.

Tom


Re: (OffTopic) trouble registering on www.gccsummit.org

2007-02-01 Thread Janis Johnson
On Thu, Feb 01, 2007 at 11:10:52AM +0100, Basile STARYNKEVITCH wrote:
> 
> Hello All,
> 
> Sorry for this off-topic message, but I have some troubles registering on
> https://www.gccsummit.org/2007/login.php and my email to
> [EMAIL PROTECTED] bounced.
> 
> My own email is [EMAIL PROTECTED]
> 
> Does anyone know who should I contact about the gccsummit.org web site or
> registration system?
> 
> Regards, and apologies for this slightly off topic message! I hope someone
> in charge of the gccsummit.org site would read it.

Mail [EMAIL PROTECTED]

Janis


Re: Failure to build libjava on 512MB machine

2007-02-01 Thread Gerald Pfeifer
On Wed, 31 Jan 2007, Andrew Haley wrote:
> Can you tell us a bit more about the config?  It really shouldn't be
> failing to compile this program.

The tester where this problem first surfaced as a 32-bit Athlon machine,
with 512MB main memory and 1GB swap.  The machine runs FreeBSD 5.4.

I agree with your intuition that even if the machines is swapping heavily, 
this amount of virtual memory (1.5GB) should suffice.

However, a bit of investigations makes me believe that, at least in the 
default configuration, FreeBSD 5.4 will refuse to allocate more memory to 
a single process than the system has main memory.

At least this is what the output of the following quick test program I
hacked indicates:

  #include 
  #include 
  #include 

  #define MB 1024*1024

  main() {
for(int i=1; i <= 600; i++) {
  printf("%dMB  ",i); fflush(stdout);

  char *p=(char*)malloc(MB);
  if( p == NULL ) {
printf("\nCrap!\n");
return 1;
  }
}
  }

After 512MB, the output I get is

  510MB
  511MB
  512MB
  Crap!

while, at the same time, a GCC bootstrap is nicely proceeding on the
same machine.  I do not know how many other system may behave similarly,
but at least this explains my (unexpected) bootstrap failures.

Gerald


Re: Failure to build libjava on 512MB machine

2007-02-01 Thread Andrew Pinski
> 
> On Wed, 31 Jan 2007, Andrew Haley wrote:
> > Can you tell us a bit more about the config?  It really shouldn't be
> > failing to compile this program.
> 
> The tester where this problem first surfaced as a 32-bit Athlon machine,
> with 512MB main memory and 1GB swap.  The machine runs FreeBSD 5.4.
> 
> I agree with your intuition that even if the machines is swapping heavily, 
> this amount of virtual memory (1.5GB) should suffice.

This must be a x86 only issue as I was able to bootstrap yesterday
with libjava enabled on powerpc-linux-gnu with only 512MB of memory
and 512MB of swap.

-- Pinski


Re: Failure to build libjava on 512MB machine

2007-02-01 Thread Gerald Pfeifer
On Thu, 1 Feb 2007, Gerald Pfeifer wrote:
> The tester where this problem first surfaced as a 32-bit Athlon machine,
> with 512MB main memory and 1GB swap.  The machine runs FreeBSD 5.4.
> 
> I agree with your intuition that even if the machines is swapping heavily, 
> this amount of virtual memory (1.5GB) should suffice.
> 
> However, a bit of investigations makes me believe that, at least in the 
> default configuration, FreeBSD 5.4 will refuse to allocate more memory to 
> a single process than the system has main memory.

I know managed to track this down:

  http://plone.org/documentation/faq/freebsd-memory-error

  By default in FreeBSD 5.X or 4.X the kernel will limit the amount
  of RAM any one process can use to 512MB (older versions of FreeBSD
  this was lower).

  You can tweak this in /boot/loader.conf [...]

So, it's not a question of main memory or swap, but a limit in terms
of virtual memory per process on this specific tester.  I don't know
how common such limitations/systems are, so this may be less critical
than it originally seemed.

Still, this shows that we did have an increase in memory use recently,
which may be worth looking into.  (And, of course, I'm happily testing
Tom's patch as we speak.)

Gerald