GCC 4.6.x invalid code generation (Developers)
> > This problem was discussed on DJGPP google group. I want to warn other
> > users who didn't read it. I don't know if it may affect freepascal too
> (if
> > it shares some optimize code with gcc or not)
>
> I'm pretty sure that FPC doesn't use any GCC sources at all, not code
> generation nor backends,
Correct.
> only lightly borrows or gleans from go32v2
> (whatever that means specifically, I've not looked).
These were originally because of two reasons:
1. usage of the go32v2 extender
2. being mostly linking compatible with djgpp, most importantly because
the textmode IDE incorporates (lib)GDB.
But all that is more runtime library related, the only compiler related bit is that the calling convention of "CDECL" will match djgpp's. (While the native calling convention is register, which is more fastcall like) Without using any gcc code of course.
> P3 priority, so it's far from important to them. GCC 4.8.0 release criteria
> explicitly says "i686" except for "i386-unknown-freebsd",
That's a naming convention of BSD. They always call everything for 32-bit x86 i386, regardless of specific optimazations.
This because "i386" is the general architecture, and optimizations or instruction selecting is not reflected in architecture, which is more a GNU or Linux convention.
So FreeBSD being "i386" has nothing to do with i386 compatibility. And anyway, recent GPL3 gcc releases are afaik irrelevant to most of BSD, since they kept the last GPL2 version, and are now migrating to LLVM.
Complete thread:
- DJGPP/GCC 4.6.2 invalid code generation when -march restrict - RayeR, 10.04.2012, 00:38 (Developers)
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- GCC 4.6.x invalid code generation - Rugxulo, 10.04.2012, 02:01
- GCC 4.6.x invalid code generation - RayeR, 10.04.2012, 03:58
- GCC 4.6.x invalid code generation - Rugxulo, 10.04.2012, 05:58
- GCC 4.6.x invalid code generation - RayeR, 10.04.2012, 13:44
- GCC 4.6.x invalid code generation - marcov, 10.04.2012, 16:19
- GCC 4.6.x invalid code generation - RayeR, 10.04.2012, 17:44
- GCC 4.6.x invalid code generation - RayeR, 14.04.2012, 23:28
- GCC 4.6.x invalid code generation: MP [PATCH] configure cmov - Arjay, 15.04.2012, 09:05
- GCC 4.6.x invalid code generation: MP [PATCH] configure cmov - RayeR, 15.04.2012, 14:44
- GCC 4.6.x invalid code generation: MP [PATCH] configure cmov - RayeR, 26.04.2012, 01:50
- GCC 4.6.x invalid code generation - Rugxulo, 26.04.2012, 09:06
- GCC 4.6.x invalid code generation - RayeR, 28.04.2012, 02:14
- x264 0.124 update - RayeR, 01.05.2012, 17:57
- CMOVNTQ and multiple file access - DOS386, 16.06.2012, 12:53
- Multiple file access, FreeDOS file locking support - ecm, 16.06.2012, 14:31
- multiple file access / IUP 0.67 - Rugxulo, 16.06.2012, 17:48
- multiple file access / IUP 0.67 - DOS386, 17.06.2012, 09:33
- CMOVNTQ and multiple file access - RayeR, 19.06.2012, 20:38
- CMOVNTQ and multiple file access - RayeR, 21.06.2012, 04:32
- load SHARE - ecm, 21.06.2012, 05:06
- load SHARE - RayeR, 21.06.2012, 12:40
- load SHARE - ecm, 21.06.2012, 12:47
- load SHARE - RayeR, 21.06.2012, 19:58
- load SHARE - RayeR, 21.06.2012, 23:31
- load SHARE - ecm, 22.06.2012, 14:03
- load SHARE - RayeR, 21.06.2012, 19:58
- load SHARE - ecm, 21.06.2012, 12:47
- load SHARE - RayeR, 21.06.2012, 12:40
- load SHARE - ecm, 21.06.2012, 05:06
- CMOVNTQ and multiple file access - RayeR, 21.06.2012, 04:32
- GCC 4.6.x invalid code generation - RayeR, 28.04.2012, 02:14
- GCC 4.6.x invalid code generation - Rugxulo, 26.04.2012, 09:06
- GCC 4.6.x invalid code generation: MP [PATCH] configure cmov - RayeR, 26.04.2012, 01:50
- GCC 4.6.x invalid code generation: MP [PATCH] configure cmov - RayeR, 15.04.2012, 14:44
- GCC 4.6.x invalid code generation: MP [PATCH] configure cmov - Arjay, 15.04.2012, 09:05
- GCC 4.6.x invalid code generation - RayeR, 14.04.2012, 23:28
- GCC 4.6.x invalid code generation - RayeR, 10.04.2012, 17:44
- GCC 4.6.x invalid code generation - marcov, 10.04.2012, 16:19
- GCC 4.6.x invalid code generation - RayeR, 10.04.2012, 13:44
- GCC 4.6.x invalid code generation - Rugxulo, 10.04.2012, 05:58
- GCC 4.6.x invalid code generation - marcov, 10.04.2012, 16:16
- GCC 4.6.x invalid code generation - RayeR, 10.04.2012, 17:49
- GCC 4.6.x invalid code generation - RayeR, 10.04.2012, 03:58
- GCC 4.6.x invalid code generation - Rugxulo, 10.04.2012, 02:01
Mix view