Size: 5980
Comment:
|
← Revision 138 as of 2016-06-12 04:39:50 ⇥
Size: 9725
Comment: ports category
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
This page tracks current issues with ["GCC"] for ["M68k/Porting"]. User support and buildd admins can be found at debian-68k@lists.debian.org. * gcc-4.3 is now the default, |
This page tracks current issues with [[GCC]] for [[M68k/Porting]]. User support and buildd admins can be found at debian-68k@lists.debian.org . * gcc-4.4 with TLS backport is now the default * works rather well * builds from unmodified Debian unstable sources (thanks doko!) * TLS capable eglibc in Debian unstable (thanks Aurélien!) * next version will be gcc-4.6 (we will skip gcc-4.5 and it will not be released with wheezy according to doko) * gcc-4.3 (and older) have been removed from Debian unstable already (by April 2011) = m68k usertags = * If you find a bug not [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=m68k;users=m68k-build@nocrew.org;|listed]], please usertag it or drop us a message, see [[M68k/Porting]]. == binNMUs == * binNMU [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=binNMU;users=m68k-build@nocrew.org|bugs]] <<Anchor(cross)>> = Cross-Compilers = * build a stretch chroot for amd64 * A metapackage {{{gcc-m68k-linux-gnu}}} (also cpp, g++) is available * These are built according to BuildingCrossCompilers == Building Cross-Compilers == * Best to start with [[EmdebianToolchain]]. * Christian's cross-compiler guide for kernel building: http://people.debian.org/~cts/debian-m68k/cross-compile/ * Roman's cross-compiler guide for crosscc: http://www.xs4all.nl/~zippel/crosscc/crosscc.README * Stephen's cross-compiler draft notes: http://people.debian.org/~smarenka/m68k/cross-compilers/aaareadme.txt = obsolete? = The information below is probably mostly obsolete |
Line 8: | Line 41: |
Line 11: | Line 43: |
== ice in find_reloads == | |
Line 13: | Line 46: |
* test case built | * found in cross compiler * confirmed in 4.3.4-10+m68k from unreleased (tg@) * hit in kernel compile (btrfs) XXX why do we not use CONFIG_FRAME_POINTER? * [[http://people.debian.org/~smarenka/m68k/bugs/testreloads.c|test case]] * gnu pr [[http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37052|37052]] |
Line 15: | Line 52: |
{{{testreloads.c:207: error: unable to generate reloads for: | {{{ testreloads.c:207: error: unable to generate reloads for: |
Line 25: | Line 63: |
== Related to above? == |
=== related? === |
Line 30: | Line 66: |
{{{avidec.c:606: error: unable to generate reloads for: | {{{ avidec.c:606: error: unable to generate reloads for: |
Line 39: | Line 76: |
Line 42: | Line 78: |
{{{avidec.c:606: error: unable to generate reloads for: | {{{ avidec.c:606: error: unable to generate reloads for: |
Line 51: | Line 88: |
Line 54: | Line 90: |
{{{InstructionCombining.cpp:9187: error: unable to generate reloads for: | * different than above, although same area {{{ InstructionCombining.cpp:9187: error: unable to generate reloads for: |
Line 64: | Line 102: |
== Related? Reconfirm with -8 == |
== ice in reload_cse_simplify_operands == * r-base * found in gcc-4.3_4.3.1-8 * found in cross-compiler * [[http://people.debian.org/~smarenka/m68k/bugs/postreload.c|test case]] * gnu pr [[http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37053|37053]] * bug # {{{ postreload.c:886: error: insn does not satisfy its constraints: (insn 309 2675 2677 36 postreload.c:446 (set (reg:SI 0 %d0) (plus:SI (mem/f:SI (reg:SI 8 %a0) [0 S4 A16]) (reg:SI 0 %d0))) 132 {*addsi3_internal} (nil)) postreload.c:886: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395 }}} * pymol * found in gcc-4.3_4.3.1-8 {{{ Selector.c:3225: error: insn does not satisfy its constraints: (insn 276 502 504 38 layer3/Selector.c:3213 (set (reg:SI 0 %d0) (plus:SI (mem/f:SI (reg:SI 8 %a0) [0 S4 A16]) (reg:SI 0 %d0))) 132 {*addsi3_internal} (nil)) layer3/Selector.c:3225: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395}}} === related? === * gnudatalanguage * found in gcc-4.3_4.3.1-8 {{{convol.cpp:127: error: insn does not satisfy its constraints: (insn 1771 4339 1772 331 convol_inc1.cpp:355 (set (reg:HI 0 %d0 [orig:675+2 ] [675]) (mult:HI (mem:HI (reg:SI 9 %a1) [304 S2 A16]) (reg:HI 0 %d0 [orig:673+2 ] [673]))) 178 {mulhi3} (nil)) convol.cpp:127: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395 }}} * meep * found in gcc-4.3_4.3.1-8 {{{../../../src/boundaries.cpp:441: error: insn does not satisfy its constraints: (insn 1749 3315 3317 237 ../../../src/boundaries.cpp:427 (set (reg:SI 6 %d6) (plus:SI (mem/s/f:SI (reg:SI 9 %a1) [68 <variable>.P S4 A8]) (reg:SI 6 %d6))) 132 {*addsi3_internal} (nil)) ../../../src/boundaries.cpp:441: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395 Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.3/README.Bugs> for instructions. }}} |
Line 70: | Line 150: |
Line 74: | Line 153: |
Line 78: | Line 156: |
Line 81: | Line 158: |
== Related? Reconfirm with -8 == |
== ice Segmentation fault: Reconfirm with -8 == |
Line 87: | Line 162: |
Line 91: | Line 165: |
Line 95: | Line 168: |
Line 98: | Line 170: |
Line 102: | Line 173: |
== Other == * simutrans * found in gcc-4.3_4.3.1-8 * {{{route.cc:520: internal compiler error: in subreg_get_info, at rtlanal.c:3185}}} |
|
Line 103: | Line 179: |
Line 107: | Line 182: |
Line 111: | Line 185: |
Line 114: | Line 187: |
* simutrans * found in gcc-4.3_4.3.0-3 * {{{route.cc:520: internal compiler error: in subreg_get_info, at rtlanal.c:3185}}} |
|
Line 122: | Line 190: |
Line 125: | Line 192: |
Line 128: | Line 194: |
Line 131: | Line 196: |
Line 135: | Line 199: |
Line 137: | Line 200: |
Line 140: | Line 202: |
The glibc support for the C99 inline semantics was added in glibc 2.6 and all the non-TLS support was removed. GCC 4.3 and later use C99 inline semantics in -std=gnu99 mode. = m68k usertags = * If you find a bug not [http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=m68k;users=m68k-build@nocrew.org; listed], please usertag it or drop us a message, see ["M68k/Porting"]. |
The glibc support for the C99 inline semantics was added in glibc 2.6 and all the non-TLS support was removed. GCC 4.3 and later use C99 inline semantics in -std=gnu99 mode This was resolved with -5 (although the first GCC we managed to build was -8). -std=gnu99 mode can now be used without any issue. |
Line 149: | Line 207: |
* debian [http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=gcc-4.3 gcc-4.3 bts] * debian [http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=gcc-4.2 gcc-4.2 bts] * debian [http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=gcc-4.1 gcc-4.1 bts] * upstream gcc [http://gcc.gnu.org/bugzilla/ bugs] |
* debian [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=gcc-4.3|gcc-4.3 bts]] * debian [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=gcc-4.2|gcc-4.2 bts]] * debian [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=gcc-4.1|gcc-4.1 bts]] * upstream gcc [[http://gcc.gnu.org/bugzilla/|bugs]] |
Line 155: | Line 212: |
Line 158: | Line 213: |
* [http://gcc.gnu.org/bugs.html GCC Bugs] == binNMUs == * binNMU [http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=binNMU;users=m68k-build@nocrew.org bugs] |
* [[http://gcc.gnu.org/bugs.html|GCC Bugs]] |
Line 166: | Line 215: |
* We don't have an Ada or D compiler at the moment since both compilers require special bootstrapping which has never been done. Michael Casadevall has been been able to build the Ada cross-compiler, but hasn't successfully bootstrapped the native compiler |
* We don't have an Ada or D compiler at the moment since both compilers require special bootstrapping which has never been done. Michael Casadevall has been been able to build the Ada cross-compiler, but hasn't successfully bootstrapped the native compiler; Thorsten Glaser has discovered that the System'Address type must be coerced into %a0 instead of %d0 by GCC, so the ball is now in the hands of the GCC/GNAT developers |
Line 169: | Line 217: |
---- CategoryPorts |
This page tracks current issues with GCC for M68k/Porting. User support and buildd admins can be found at debian-68k@lists.debian.org .
- gcc-4.4 with TLS backport is now the default
- works rather well
- builds from unmodified Debian unstable sources (thanks doko!)
- TLS capable eglibc in Debian unstable (thanks Aurélien!)
- next version will be gcc-4.6 (we will skip gcc-4.5 and it will not be released with wheezy according to doko)
- gcc-4.3 (and older) have been removed from Debian unstable already (by April 2011)
m68k usertags
If you find a bug not listed, please usertag it or drop us a message, see M68k/Porting.
binNMUs
binNMU bugs
Cross-Compilers
- build a stretch chroot for amd64
A metapackage gcc-m68k-linux-gnu (also cpp, g++) is available
These are built according to BuildingCrossCompilers
Building Cross-Compilers
Best to start with EmdebianToolchain.
Christian's cross-compiler guide for kernel building: http://people.debian.org/~cts/debian-m68k/cross-compile/
Roman's cross-compiler guide for crosscc: http://www.xs4all.nl/~zippel/crosscc/crosscc.README
Stephen's cross-compiler draft notes: http://people.debian.org/~smarenka/m68k/cross-compilers/aaareadme.txt
obsolete?
The information below is probably mostly obsolete
Bugs
Gathering the bugs in gcc-4.3_4.3.1-8.
ice in find_reloads
- hdf5
testreloads.c:207: error: unable to generate reloads for: (insn:QI 631 629 632 41 testreloads.c:94 (parallel [ (set (cc0) (compare (reg/v:DI 0 %d0 [orig:117 j ] [117]) (reg:DI 4 %d4 [orig:115 pretmp.69 ] [115]))) (clobber (reg:DI 273)) ]) 12 {*m68k.md:521} (expr_list:REG_UNUSED (reg:DI 273) (nil))) testreloads.c:207: internal compiler error: in find_reloads, at reload.c:3744
related?
- ffmpeg-debian
- found in gcc-4.3_4.3.1-2
avidec.c:606: error: unable to generate reloads for: (insn:QI 1388 1785 1389 174 /build/buildd/ffmpeg-debian-0.svn20080206/libavformat/avidec.c:211 (parallel [ (set (cc0) (compare (reg:DI 10 %a2 [orig:62 pretmp.702 ] [62]) (reg:DI 4 %d4 [430]))) (clobber (reg:DI 431)) ]) 12 {*m68k.md:521} (expr_list:REG_UNUSED (reg:DI 431) (nil))) avidec.c:606: internal compiler error: in find_reloads, at reload.c:3744
- ffmpeg-free
- found in gcc-4.3_4.3.0-3
avidec.c:606: error: unable to generate reloads for: (insn:QI 1388 1785 1389 174 avidec.c:211 (parallel [ (set (cc0) (compare (reg:DI 10 %a2 [orig:62 pretmp.702 ] [62]) (reg:DI 4 %d4 [430]))) (clobber (reg:DI 431)) ]) 12 {*m68k.md:521} (expr_list:REG_UNUSED (reg:DI 431) (nil))) avidec.c:606: internal compiler error: in find_reloads, at reload.c:3744
- llvm
- found in gcc-4.3_4.3.0-3
- different than above, although same area
InstructionCombining.cpp:9187: error: unable to generate reloads for: (insn:QI 1193 1192 1194 210 InstructionCombining.cpp:8939 (parallel [ (set (cc0) (compare (reg:DI 0 %d0) (reg:DI 4 %d4 [499]))) (clobber (reg:DI 501)) ]) 12 {*m68k.md:521} (expr_list:REG_DEAD (reg:DI 0 %d0) (expr_list:REG_UNUSED (reg:DI 501) (nil)))) InstructionCombining.cpp:9187: internal compiler error: in find_reloads, at reload.c:3744
ice in reload_cse_simplify_operands
postreload.c:886: error: insn does not satisfy its constraints: (insn 309 2675 2677 36 postreload.c:446 (set (reg:SI 0 %d0) (plus:SI (mem/f:SI (reg:SI 8 %a0) [0 S4 A16]) (reg:SI 0 %d0))) 132 {*addsi3_internal} (nil)) postreload.c:886: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395
- pymol
- found in gcc-4.3_4.3.1-8
Selector.c:3225: error: insn does not satisfy its constraints: (insn 276 502 504 38 layer3/Selector.c:3213 (set (reg:SI 0 %d0) (plus:SI (mem/f:SI (reg:SI 8 %a0) [0 S4 A16]) (reg:SI 0 %d0))) 132 {*addsi3_internal} (nil)) layer3/Selector.c:3225: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395
related?
- gnudatalanguage
- found in gcc-4.3_4.3.1-8
{{{convol.cpp:127: error: insn does not satisfy its constraints: (insn 1771 4339 1772 331 convol_inc1.cpp:355 (set (reg:HI 0 %d0 [orig:675+2 ] [675])
- (mult:HI (mem:HI (reg:SI 9 %a1) [304 S2 A16])
- (reg:HI 0 %d0 [orig:673+2 ] [673]))) 178 {mulhi3} (nil))
convol.cpp:127: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395 }}}
- meep
- found in gcc-4.3_4.3.1-8
{{{../../../src/boundaries.cpp:441: error: insn does not satisfy its constraints: (insn 1749 3315 3317 237 ../../../src/boundaries.cpp:427 (set (reg:SI 6 %d6)
(plus:SI (mem/s/f:SI (reg:SI 9 %a1) [68 <variable>.P S4 A8])
- (reg:SI 6 %d6))) 132 {*addsi3_internal} (nil))
../../../src/boundaries.cpp:441: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395 Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.3/README.Bugs> for instructions. }}}
- courier
- found in gcc-4.3_4.3.0-3
utf7.c:229: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395
- gnome-keyring
- found in gcc-4.3_4.3.1-2
gkr-crypto.c:151: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395
- insighttoolkit
- found in gcc-4.3_4.3.1-8
jdsample.c:141: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395
- osptoolkit
sptransapi.c:121: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395
ice Segmentation fault: Reconfirm with -8
- gnome-settings-daemon
- found in gcc-4.3_4.3.0-3
gsd-xmodmap.c:397: internal compiler error: Segmentation fault
- oolite
- found in gcc-4.3_4.3.1-2
PlayerEntity Additions.m:1882: internal compiler error: Segmentation fault
- opencv
- found in gcc-4.3_4.3.1-2
cvfundam.cpp:311: internal compiler error: Segmentation fault
- gmfsk
internal compiler error: Segmentation fault
- gpc-4.1
rtsc.pas:430: internal compiler error: Segmentation fault
Other
- simutrans
- found in gcc-4.3_4.3.1-8
route.cc:520: internal compiler error: in subreg_get_info, at rtlanal.c:3185
Reconfirm w/ -8
- compiz
- found in gcc-4.3_4.3.0-3
decorator.moc.cpp:130: internal compiler error: in value_format, at dwarf2out.c:7015
- iceowl
- found in gcc-4.3_4.3.0-3
error: asm-specifier for variable ¿result¿ conflicts with asm clobber list
- linux-2.6
- found in gcc-4.3
- genesis
- found in gcc-4.3_4.3.0-3
hines_chip.c:595: internal compiler error: in reg_overlap_mentioned_for_reload_p, at reload.c:6525
- gforth
./engine.c:340: error: unable to find a register to spill in class ADDR_REGS
- libgnupdf
ccZe2Dva.s:1523: Error: operands mismatch -- statement `rol.w #0,%d2' ignored
- openvrml
Internal error: Killed (program cc1plus)
- washngo_2.12-1
Internal error: Killed (program cc1)
Old glibc vs. gcc-4.3
Per http://lists.debian.org/debian-68k/2008/04/msg00033.html
The glibc support for the C99 inline semantics was added in glibc 2.6 and all the non-TLS support was removed. GCC 4.3 and later use C99 inline semantics in -std=gnu99 mode
This was resolved with -5 (although the first GCC we managed to build was -8). -std=gnu99 mode can now be used without any issue.
gcc-4.x bugs
debian gcc-4.3 bts
debian gcc-4.2 bts
debian gcc-4.1 bts
upstream gcc bugs
- check with gcc-snapshot (if it's more recent than sid)
upstream
Compiler status
- We don't have an Ada or D compiler at the moment since both compilers require special bootstrapping which has never been done. Michael Casadevall has been been able to build the Ada cross-compiler, but hasn't successfully bootstrapped the native compiler; Thorsten Glaser has discovered that the System'Address type must be coerced into %a0 instead of %d0 by GCC, so the ball is now in the hands of the GCC/GNAT developers
- D will probably require similar work done for it.