🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
6 messages
6 total messages Started by bartek szurgot Wed, 10 Aug 2011 09:20
g++ vs. g++@make
#72280
Author: bartek szurgot
Date: Wed, 10 Aug 2011 09:20
29 lines
1969 bytes
witam,

ostatnio trafiłem na ciekawe zachowanie przy zabawie z szablonami C++.
kompilując załączony program za pomocą make'a wszystko działa jak
trzeba. jeśli zaś g++ uruchomię ręcznie (ale dokładnie tak samo jak w
regułce make'a) dostaje segv kompilatora:

$ make
g++-4.6 -Wall -ftemplate-depth=64000 main.cpp -o "main.out" -DCOUNT=16000
$ g++-4.6 -Wall -ftemplate-depth=64000 main.cpp -o "main.out" -DCOUNT=16000
g++-4.6: internal compiler error: Segmentation fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.

zmniejszenie COUNT do 10000 powoduje, że (na moim kompie) kompilacja
przechodzi zarówno "ręcznie" jak i z make'a, choć g++ spod make'a
spokojnie radzi sobie z COUNT=40000 i więcej.
przytoczone wartości sprawdziłem na core2 duo z 4GB ram (debian). na
innych maszynach, na których testowałem ten przypadek "progi" bywały
różne, ale zachowanie było w 100% powtarzalne.

środowisko sprawdzałem za pomocą enva - brak istotnych różnic.

czy ktoś ma pomysł w czym rzecz?

-- 
pozdrawiam serdecznie / best regards,
Bartek 'BaSz' Szurgot
Re: g++ vs. g++@make
#72281
Author: Jędrzej Dudkiewicz
Date: Fri, 12 Aug 2011 17:00
31 lines
2238 bytes
On 08/10/2011 11:20 AM, bartek szurgot wrote:
> witam,
>
> ostatnio trafiłem na ciekawe zachowanie przy zabawie z szablonami C++.
> kompilując załączony program za pomocą make'a wszystko działa jak
> trzeba. jeśli zaś g++ uruchomię ręcznie (ale dokładnie tak samo jak w
> regułce make'a) dostaje segv kompilatora:
>
> $ make
> g++-4.6 -Wall -ftemplate-depth=64000 main.cpp -o "main.out" -DCOUNT=16000
> $ g++-4.6 -Wall -ftemplate-depth=64000 main.cpp -o "main.out" -DCOUNT=16000
> g++-4.6: internal compiler error: Segmentation fault (program cc1plus)
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See<file:///usr/share/doc/gcc-4.6/README.Bugs>  for instructions.
>
> zmniejszenie COUNT do 10000 powoduje, że (na moim kompie) kompilacja
> przechodzi zarówno "ręcznie" jak i z make'a, choć g++ spod make'a
> spokojnie radzi sobie z COUNT=40000 i więcej.
> przytoczone wartości sprawdziłem na core2 duo z 4GB ram (debian). na
> innych maszynach, na których testowałem ten przypadek "progi" bywały
> różne, ale zachowanie było w 100% powtarzalne.
>
> środowisko sprawdzałem za pomocą enva - brak istotnych różnic.
>
> czy ktoś ma pomysł w czym rzecz?

Jedyny pomysł, jaki mi przychodzi do głowy, to inny path i użycie g++ 32 
vs 64 bity.

JD
Re: g++ vs. g++@make
#72282
Author: bartek szurgot
Date: Sat, 13 Aug 2011 11:07
13 lines
1311 bytes
On 08/12/2011 07:00 PM, Jędrzej Dudkiewicz wrote:
> Jedyny pomysł, jaki mi przychodzi do głowy, to inny path i użycie g++ 32
> vs 64 bity.
> 
> JD

env'a już sprawdzałem (evn | sort # a potem kdiff3 ;)) - jedyna różnica
to jakieś 3 zmienne make'a. :/

-- 
pozdrawiam serdecznie / best regards,
bartek szurgot
/* http://www.baszerr.org */
Re: g++ vs. g++@make
#72283
Author: Jaroslaw Berezowski
Date: Tue, 16 Aug 2011 19:01
10 lines
1265 bytes
Dnia Sat, 13 Aug 2011 13:07:30 +0200, bartek szurgot napisał(a):

> env'a już sprawdzałem (evn | sort # a potem kdiff3 ;)) - jedyna różnica
> to jakieś 3 zmienne make'a. :/
A limity?



-- 
Jaroslaw "jaros" Berezowski
Re: g++ vs. g++@make
#72284
Author: bartek szurgot
Date: Wed, 17 Aug 2011 06:22
49 lines
2684 bytes
On 08/16/2011 09:01 PM, Jaroslaw Berezowski wrote:
> Dnia Sat, 13 Aug 2011 13:07:30 +0200, bartek szurgot napisał(a):
> 
>> env'a już sprawdzałem (evn | sort # a potem kdiff3 ;)) - jedyna różnica
>> to jakieś 3 zmienne make'a. :/
> A limity?

najciemniej pod latarnią. 1:0 dla szanownego kolegi! zapis z ulimit -a z
make'a wygląda tak:
time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         unlimited
stack(kbytes)        unlimited
coredump(blocks)     0
memory(kbytes)       unlimited
locked memory(kbytes) 64
process              30084
nofiles              1024
vmemory(kbytes)      unlimited
locks                unlimited

zaś spod shella tak:
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30084
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 30084
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

no i widać stack size był ograniczony do 8MB. wyłącznie ograniczenia
(ulimit -s unlimited) rozwiązało problem.

dzięki za pomoc!

-- 
pozdrawiam serdecznie / best regards,
Bartek 'BaSz' Szurgot

http://www.baszerr.org
Re: g++ vs. g++@make
#72285
Author: Jaroslaw Berezowski
Date: Wed, 17 Aug 2011 14:12
7 lines
1075 bytes
Dnia Wed, 17 Aug 2011 08:22:24 +0200, bartek szurgot napisał(a):

> dzięki za pomoc!
Do usług.

-- 
Jaroslaw "jaros" Berezowski
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads