RayeR CZ, 10.04.2012, 00:38 (edited by RayeR, 10.04.2012, 02:00) |
DJGPP/GCC 4.6.2 invalid code generation when -march restrict (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) --- |
Rugxulo Usono, 10.04.2012, 02:01 @ RayeR |
GCC 4.6.x invalid code generation |
> This problem was discussed on DJGPP google group. I want to warn other |
RayeR CZ, 10.04.2012, 03:58 @ Rugxulo |
GCC 4.6.x invalid code generation |
> care to minimize targets for such "old" tech, presumably. Esp. since most --- |
Rugxulo Usono, 10.04.2012, 05:58 @ RayeR |
GCC 4.6.x invalid code generation |
> But there are still used and manufactured various low-power embedded PCs |
RayeR CZ, 10.04.2012, 13:44 @ Rugxulo |
GCC 4.6.x invalid code generation |
> GCC has always assumed an FPU, I think. But also I think Linux kernel has --- |
marcov 10.04.2012, 16:19 @ RayeR |
GCC 4.6.x invalid code generation |
> Now I think that the problem is more caused by invalid objdump disassembly |
RayeR CZ, 10.04.2012, 17:44 @ marcov |
GCC 4.6.x invalid code generation |
> Afaik objdump also disassembles some non code sections. (e.g. jump tables) --- |
RayeR CZ, 14.04.2012, 23:28 (edited by RayeR, 15.04.2012, 01:59) @ RayeR |
GCC 4.6.x invalid code generation |
I did some further testing. First I disabled assembler in config.mak to prevent use optimized assembler modules that contained CMOVs. Then I tested 3 GCC version and compare CMOVs occurences in ffmpeg.exe: --- |
Arjay 15.04.2012, 09:05 @ RayeR |
GCC 4.6.x invalid code generation: MP [PATCH] configure cmov |
> I did some further testing. First I disabled assembler in config.mak to |
RayeR CZ, 15.04.2012, 14:44 (edited by RayeR, 15.04.2012, 18:17) @ Arjay |
GCC 4.6.x invalid code generation: MP [PATCH] configure cmov |
> I did some quick searching, e.g "disable cmov", "disable cmov ffmpeg", --- |
RayeR CZ, 26.04.2012, 01:50 (edited by RayeR, 26.04.2012, 02:18) @ RayeR |
GCC 4.6.x invalid code generation: MP [PATCH] configure cmov |
> I will make one more test with new gcc 4.6.2 and disabled assembler --- |
Rugxulo Usono, 26.04.2012, 09:06 @ RayeR |
GCC 4.6.x invalid code generation |
> > I will make one more test with new gcc 4.6.2 and disabled assembler |
RayeR CZ, 28.04.2012, 02:14 @ Rugxulo |
GCC 4.6.x invalid code generation |
> That's unofficial, and this was a week or two before Juan's latest refresh --- |
RayeR CZ, 01.05.2012, 17:57 @ RayeR |
x264 0.124 update |
Small update of x264 0.124 --- |
DOS386 16.06.2012, 12:53 @ Rugxulo |
CMOVNTQ and multiple file access |
> I tried objdump *.a -d |grep cmov in my DJGPP\LIB and found that some --- |
ecm Düsseldorf, Germany, 16.06.2012, 14:31 @ DOS386 |
Multiple file access, FreeDOS file locking support |
> There is a possible new BUG (multiple file access): --- |
Rugxulo Usono, 16.06.2012, 17:48 @ DOS386 |
multiple file access / IUP 0.67 |
Is this really the same bug as IUP? IIRC, Eric told me once that it was basically just some minor compatibility regarding temporary file name support, e.g. MS-DOS 5 vs 6 (or some such, see int 21h, 5Ah). And the partial workaround was to unpack in the root directory. But I never cared enough to look closer (and probably wouldn't understand it anyways). |
DOS386 17.06.2012, 09:33 @ Rugxulo |
multiple file access / IUP 0.67 |
> Is this really the same bug as IUP --- |
RayeR CZ, 19.06.2012, 20:38 @ DOS386 |
CMOVNTQ and multiple file access |
> There is a possible new BUG (multiple file access): --- |
RayeR CZ, 21.06.2012, 04:32 @ RayeR |
CMOVNTQ and multiple file access |
I tried to compile and run test program mentioned above under MSDOS 6.22 on FAT16 and it creates 1 lost cluster per every run (instead of returning NULL on second fopen call). I tried gcc 4.7.0, 4.7.1 and very old 2.95 and all behaved the same so it's not new gcc bug but rather libc / DOS bug. --- |
ecm Düsseldorf, Germany, 21.06.2012, 05:06 @ RayeR |
load SHARE |
load SHARE? |
RayeR CZ, 21.06.2012, 12:40 @ ecm |
load SHARE |
> load SHARE? --- |
ecm Düsseldorf, Germany, 21.06.2012, 12:47 @ RayeR |
load SHARE |
> I tested without share. --- |
RayeR CZ, 21.06.2012, 19:58 @ ecm |
load SHARE |
> Yes, I assumed so. In this case, corruption is expected (intended), as I --- |
RayeR CZ, 21.06.2012, 23:31 @ RayeR |
load SHARE |
I tested with share and now it doesn't make any lost clusters. The same when run under Windows XP. So it's definitely problem of OS and not DJGPP/GCC... --- |
ecm Düsseldorf, Germany, 22.06.2012, 14:03 @ RayeR |
load SHARE |
> But I would expect that second fopen "wb" call will return NULL when OS |
marcov 10.04.2012, 16:16 @ Rugxulo |
GCC 4.6.x invalid code generation |
> > This problem was discussed on DJGPP google group. I want to warn other |
RayeR CZ, 10.04.2012, 17:49 @ marcov |
GCC 4.6.x invalid code generation |
> So FreeBSD being "i386" has nothing to do with i386 compatibility. And --- |