Re: [fpc-devel] Testing MIPS: newbie questions
Mark Morgan Lloyd wrote: Thanks for the warning. I'm on 2.20.1, looks like the version number window is quite tight. So most of the problems described in http://wiki.lazarus.freepascal.org/Native_MIPS_Systems should not be present anymore... I'll update that presently. What I want to try doing first is running the compiler natively (hosted by Qemu), later I might try putting it on real hardware but I anticipate the endianness issue will take some work. Copied across onto a Debian mipsel hosted by Qemu, I've just completed a make all running natively including default packages etc. The only oddity that I noticed was that I had to specify PP when running the make, I don't know whether that is still an issue now that things have cycled fully (and I'm loath to repeat the exercise on account of time/heat/noise issues- I'm using a big server as host and MIPS was still running more slowly than reasonable). So granted that there are known problems as shown up by the test failures, but things are looking pretty good. Congratulations and thanks to all concerned :-) -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Testing MIPS: newbie questions
Nikolai Zhubr wrote: Hi, 15.10.2012 23:57, Mark Morgan Lloyd: [...] So most of the problems described in http://wiki.lazarus.freepascal.org/Native_MIPS_Systems should not be present anymore... I'll update that presently. What I want to try doing first is running the compiler natively (hosted by Qemu), later I might try putting it on real hardware but I anticipate the endianness issue will take some work. In case you need something for testing/debugging/documenting/whatever and encounter any problems getting your SGI boxes running - I can create an account for you here for ssh access (both big and little endian, both are up approx 24/7 anyway). Just let me know (in private). Thanks Nikolai, noted. Progress will be intermittent here since I'm interleaving with much else, but I might take you up on that offer. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Testing MIPS: newbie questions
In trunk, is there any particular reason why tbs/tb0072.pp refers to CPUSMIPS rather than CPUMIPS? I notice that in system.pp and in linux/ptypes.inc etc., conditionals refer to CPUMIPS while in other places they refer to CPUMIPS32 and/or CPUMIPSEL32. Is this correct? -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
RE: [fpc-devel] Testing MIPS: newbie questions
-Message d'origine- De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel- boun...@lists.freepascal.org] De la part de Mark Morgan Lloyd Envoyé : lundi 15 octobre 2012 15:39 À : fpc-devel@lists.freepascal.org Objet : [fpc-devel] Testing MIPS: newbie questions In trunk, is there any particular reason why tbs/tb0072.pp refers to CPUSMIPS rather than CPUMIPS? This is probably an error on my side :( Fixed in rev 22655, thanks for noticing! I notice that in system.pp and in linux/ptypes.inc etc., conditionals refer to CPUMIPS while in other places they refer to CPUMIPS32 and/or CPUMIPSEL32. Is this correct? CPUMIPS is defined for both mips big endian and little endian targets, CPUMIPSEL is defined only for little endian mips target, CPUMIPSEB is defined only for big endian mips target. CPUMIPS32 is here to specify that it is a 32bit system, and to possibly separate out future 64bit specific code. (Nothing ready on this side yet...) I am not sure all of the uses in rtl are really correct (in the sense that they apply to the right sub-category of target...) Please do not hesitate to report all suspicious instances. There are still plenty of bug in the code generator, help would be most appreciated! Pierre Muller -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Testing MIPS: newbie questions [offline, private]
microc...@zoho.com wrote: On Mon, Oct 15, 2012 at 01:39:24PM +, Mark Morgan Lloyd wrote: In trunk, is there any particular reason why tbs/tb0072.pp refers to CPUSMIPS rather than CPUMIPS? Hey, what are you testing this on? I remember you got a new box but I can't remember what it isSGI something? Do they run big or little endian? Israel Somebody local was clearing an office, and I've just got hold of an SGI Octane (hopefully with a decent PSU this time) and an as-new Origin 200. Neither has Linux on it yet and they're big-endian, but having some real hardware around the place is always much more of an incentive than using emulators. I also got a (small) DEC Alpha system from him, haven't a clue whether it runs. Also I got hold of an SGI Workstation 750 a few weeks ago- nice piece of kit, shame it's IA-64 (but that suits me, since I specifically wanted to be able to look at the bundled code format for something else I'm doing, and the Ski emulator's only good for nursery slopes). -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Testing MIPS: newbie questions
Pierre Free Pascal wrote: -Message d'origine- De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel- boun...@lists.freepascal.org] De la part de Mark Morgan Lloyd Envoyé : lundi 15 octobre 2012 15:39 À : fpc-devel@lists.freepascal.org Objet : [fpc-devel] Testing MIPS: newbie questions In trunk, is there any particular reason why tbs/tb0072.pp refers to CPUSMIPS rather than CPUMIPS? This is probably an error on my side :( Fixed in rev 22655, thanks for noticing! I notice that in system.pp and in linux/ptypes.inc etc., conditionals refer to CPUMIPS while in other places they refer to CPUMIPS32 and/or CPUMIPSEL32. Is this correct? CPUMIPS is defined for both mips big endian and little endian targets, CPUMIPSEL is defined only for little endian mips target, CPUMIPSEB is defined only for big endian mips target. CPUMIPS32 is here to specify that it is a 32bit system, and to possibly separate out future 64bit specific code. (Nothing ready on this side yet...) I am not sure all of the uses in rtl are really correct (in the sense that they apply to the right sub-category of target...) Please do not hesitate to report all suspicious instances. There are still plenty of bug in the code generator, help would be most appreciated! Thanks for that. What I actually started with this morning was revisiting http://wiki.lazarus.freepascal.org/Native_MIPS_Systems and trying to crossbuild the RTL. I'm afraid that I didn't get very far which led me to look at the defines... should this work yet, or is a full test run a prerequisite? -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
RE: [fpc-devel] Testing MIPS: newbie questions
I have a small batch that I use for cross-compilation from i386-win32 to mips(el)-linux. E:\pas\trunk\fpcsrc\compilertype mipsel-cycle.bat set CUR_FPC_VER=2.7.1 if %1 == cont goto cont make cycle OPT=-gl -al -n -O- -Ur -vw OS_TARGET=linux CPU_TARGET=mipsel ALLOW_WARNINGS=1 if errorlevel 1 goto error pscp -load gccmips .\ppcmipsel gcc42.fsffrance.org:bin copy ppcrossmipsel.exe \pas\fpc-%CUR_FPC_VER%\bin\i386-win32 make -C ../rtl install FPC=ppcrossmipsel.exe PREFIX=/pas/fpc-%CUR_FPC_VER% cd utils del gppc386 make FPC=/pas/trunk/fpcsrc/compiler/ppcrossmipsel OPT=-gl clean all gppc386 pscp -load gccmips .\gppc386 gcc42.fsffrance.org:bin/gppcmipsel cd .. goto end :error echo An error occurred :end This uploads a native mipsel compiler that is usable (at least as long as you don't work with too recent GNU as/ld, muller@gcc42:~/pas/test$ ppcmipsel hello.pp Assembler messages: Error: -march=mips2 is not compatible with the selected ABI hello.pp(14,18) Error: Error while assembling exitcode 1 hello.pp(14,18) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted muller@gcc42:~/pas/test$ as --version GNU assembler (GNU Binutils) 2.23.51.20121004 So most of the problems described in http://wiki.lazarus.freepascal.org/Native_MIPS_Systems should not be present anymore... Pierre -Message d'origine- De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel- boun...@lists.freepascal.org] De la part de Mark Morgan Lloyd Envoyé : lundi 15 octobre 2012 17:51 À : fpc-devel@lists.freepascal.org Objet : Re: [fpc-devel] Testing MIPS: newbie questions Pierre Free Pascal wrote: -Message d'origine- De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel- boun...@lists.freepascal.org] De la part de Mark Morgan Lloyd Envoyé : lundi 15 octobre 2012 15:39 À : fpc-devel@lists.freepascal.org Objet : [fpc-devel] Testing MIPS: newbie questions In trunk, is there any particular reason why tbs/tb0072.pp refers to CPUSMIPS rather than CPUMIPS? This is probably an error on my side :( Fixed in rev 22655, thanks for noticing! I notice that in system.pp and in linux/ptypes.inc etc., conditionals refer to CPUMIPS while in other places they refer to CPUMIPS32 and/or CPUMIPSEL32. Is this correct? CPUMIPS is defined for both mips big endian and little endian targets, CPUMIPSEL is defined only for little endian mips target, CPUMIPSEB is defined only for big endian mips target. CPUMIPS32 is here to specify that it is a 32bit system, and to possibly separate out future 64bit specific code. (Nothing ready on this side yet...) I am not sure all of the uses in rtl are really correct (in the sense that they apply to the right sub-category of target...) Please do not hesitate to report all suspicious instances. There are still plenty of bug in the code generator, help would be most appreciated! Thanks for that. What I actually started with this morning was revisiting http://wiki.lazarus.freepascal.org/Native_MIPS_Systems and trying to crossbuild the RTL. I'm afraid that I didn't get very far which led me to look at the defines... should this work yet, or is a full test run a prerequisite? -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Testing MIPS: newbie questions
Pierre Free Pascal wrote: I have a small batch that I use for cross-compilation from i386-win32 to mips(el)-linux. E:\pas\trunk\fpcsrc\compilertype mipsel-cycle.bat set CUR_FPC_VER=2.7.1 if %1 == cont goto cont make cycle OPT=-gl -al -n -O- -Ur -vw OS_TARGET=linux CPU_TARGET=mipsel ALLOW_WARNINGS=1 if errorlevel 1 goto error pscp -load gccmips .\ppcmipsel gcc42.fsffrance.org:bin copy ppcrossmipsel.exe \pas\fpc-%CUR_FPC_VER%\bin\i386-win32 make -C ../rtl install FPC=ppcrossmipsel.exe PREFIX=/pas/fpc-%CUR_FPC_VER% cd utils del gppc386 make FPC=/pas/trunk/fpcsrc/compiler/ppcrossmipsel OPT=-gl clean all gppc386 pscp -load gccmips .\gppc386 gcc42.fsffrance.org:bin/gppcmipsel cd .. goto end :error echo An error occurred :end This uploads a native mipsel compiler that is usable (at least as long as you don't work with too recent GNU as/ld, Turned out I'd still got some old symlinks from when I was tinkering with David Zhang's stuff. RTL now OK, I'll try a full build in the morning. muller@gcc42:~/pas/test$ ppcmipsel hello.pp Assembler messages: Error: -march=mips2 is not compatible with the selected ABI hello.pp(14,18) Error: Error while assembling exitcode 1 hello.pp(14,18) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted muller@gcc42:~/pas/test$ as --version GNU assembler (GNU Binutils) 2.23.51.20121004 Thanks for the warning. I'm on 2.20.1, looks like the version number window is quite tight. So most of the problems described in http://wiki.lazarus.freepascal.org/Native_MIPS_Systems should not be present anymore... I'll update that presently. What I want to try doing first is running the compiler natively (hosted by Qemu), later I might try putting it on real hardware but I anticipate the endianness issue will take some work. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Testing MIPS: newbie questions
Hi, 15.10.2012 23:57, Mark Morgan Lloyd: [...] So most of the problems described in http://wiki.lazarus.freepascal.org/Native_MIPS_Systems should not be present anymore... I'll update that presently. What I want to try doing first is running the compiler natively (hosted by Qemu), later I might try putting it on real hardware but I anticipate the endianness issue will take some work. In case you need something for testing/debugging/documenting/whatever and encounter any problems getting your SGI boxes running - I can create an account for you here for ssh access (both big and little endian, both are up approx 24/7 anyway). Just let me know (in private). Nikolai ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel