Re: [fpc-devel] Testing MIPS: newbie questions

2012-10-17 Thread Mark Morgan Lloyd

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

2012-10-16 Thread Mark Morgan Lloyd

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

2012-10-15 Thread Mark Morgan Lloyd
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

2012-10-15 Thread Pierre Free Pascal


 -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]

2012-10-15 Thread Mark Morgan Lloyd

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

2012-10-15 Thread Mark Morgan Lloyd

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

2012-10-15 Thread Pierre Free Pascal
  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

2012-10-15 Thread Mark Morgan Lloyd

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

2012-10-15 Thread Nikolai Zhubr

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