Opened 14 years ago
Closed 14 years ago
#10 closed task (fixed)
Build hotspot
Reported by: | dmik | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | Core |
Component: | general | Version: | |
Severity: | Keywords: | ||
Cc: |
Description
Build the hotspot component (make hotspot).
Attachments (1)
Change History (11)
comment:1 Changed 14 years ago by
Milestone: | Alpha → Core |
---|
comment:2 Changed 14 years ago by
The windows code uses try/except (this is a MSVC compiler extension to support structured exception handling). I will need to add support for this to Odin. See http://svn.netlabs.org/odin32/ticket/7 for details.
comment:3 Changed 14 years ago by
Went further and got the following compiler crash:
Killed by SIGSEGV pid=0x03fa ppid=0x03f9 tid=0x0001 slot=0x00bd pri=0x0200 mc=0x0001 D:\DEV\GCC442\USR\LOCAL442\LIBEXEC\GCC\I386-PC-OS2-EMX\4.4.2\CC1PLUS.EXE CC1PLUS 0:00304713 cs:eip=005b:00314713 ss:esp=0053:00a8ee78 ebp=00a8ee78 ds=0053 es=0053 fs=150b gs=0000 efl=00012202 eax=026c4e80 ebx=00a8ef18 ecx=00000007 edx=029cce00 edi=00000000 esi=00916ac0 Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it. g++: Internal error: Segmentation fault (program cc1plus) Please submit a full bug report. See <http://gcc.gnu.org/bugs.html> for instructions.
I saw something similar already and it was related to using the _System calling convention modifier (which is internally defined by GCC as attribute((system))). The question is how to find it out this time: there are 100's of includes...
comment:4 Changed 14 years ago by
Errr, silly trac markup (very annoying for any programmer). _System=__attribute__((__system__)), that is.
comment:5 Changed 14 years ago by
I can't find that out. I'm afraid I will have to build GCC myself to see what's going wrong. This will take some extra time.
comment:6 Changed 14 years ago by
Thanks to a nice explanation from dmik of how to trigger the SIGSEGV, the GCC crash turned out to be pretty easy to fix. Will be fixed in the 20100707 build that I will upload later today (dmik already has the fixed cc1.exe and cc1plus.exe)
comment:7 Changed 14 years ago by
Okay, I finally fixed the crash caused by the calling convention applied to a variable (the previous fix didn't fix it completely). The patches are attached. My testcases show that the compiler generates exactly the same assembler code for all calling conventions in question as w/o the patch but it does not crash.
Paul, please test them too and if OK, upload a new GCC -- I would have to rebuild my tree with debug info turned off which would take another many hours I'm afraid.
P.S. It's a real-real-real-real pain to make diffs on already diffed sources, this sucks. A complete waste of time. Everything must use GIT or similar system with local commits nowadays. Another waste of time is autoconf & friends. Hey, the world has simpler tools for that!
Changed 14 years ago by
Attachment: | emx-cconv-on-var-crash.diff added |
---|
Fixes the GCC 4.4.x crash when applying function attributes like system to variables.
comment:8 Changed 14 years ago by
Okay, the server's jvm.dll is finally built. Waiting for the client one to finish...
comment:9 Changed 14 years ago by
All variants of hotspot (client/server/kernel) are built now. Note that it will be tested later when we've got console java working. All issues will go to separate defects.
comment:10 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
We actually need HotSpot? for Core because it's the primary JVM implementation everything else depends on.