Black Fox's Development Thread

IRIX/Nekoware development, porting and related topics.
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
Raion-Fox
Donor
Donor
Posts: 1331
Joined: Thu Jan 30, 2014 5:01 pm
Location: near King George, Virginia
Contact:

Black Fox's Development Thread

Unread postby Raion-Fox » Fri May 29, 2015 5:16 pm

I figured since I'm amping up with my Tezro and Fuel now, it is about time to announce a few things I want to port to IRIX, and this will serve as my development log thread.

You're free to suggest programs, but understand a few limits:

Simply state the program and a link to its website. Verify first it is written in C, and do not suggest compilers - I will not even try those as I'm not *that* skilled.

I do not know C++ and do not care to. Do not ask me to port C++ based software - not gonna happen anytime soon.

I will show a preference for BSD/MIT software, so if possible, ask for those.

Priorities are first on getting them to compile using MIPSPro, if not I will fall back to GCC.

Patches for MIPSPro are welcomed.

Any patches or changes I do will be published.

For the time being, I will only be doing build system patches to get them to build, and maybe a tarball. Once I get a whole suite of tools going under the /usr/local preference ( BSD-guy here, so that's why I do that ) I'll also assist and do stuff for Nekoware devs, as I do support those efforts.

mksh - the MirBSD Korn Shell - Builds under MIPSPro, no extra stuff needed. Tarball available below
tmux - BSD-licensed, better alternative to screen - built libevent successfully under MIPSPro, TMUX still needs work
btpd - Bittorrent Daemon
Eterm - Enlightenment Terminal
Attachments
mksh.tar.gz
MirBSD Korn Shell
(312.2 KiB) Downloaded 17 times
Last edited by Raion-Fox on Sun May 31, 2015 6:20 pm, edited 1 time in total.
:O3x02L: R16000 700MHz 8GB RAM kanna
:Octane: R12000 300MHz SI 896MB RAM yuuka
:Octane2: R12000A 400MHz V6 2.5GB RAM
:Indy: (Acclaim) R4600 133MHz XL Graphics 32MB RAM
:Indy: (Challenge S) R4600 133MHz (MIPS III Build Server)
Thinkpad W530 i7 3940XM 3GHz, 32GB, K1000M Windows 8.1 Embedded rin
Thinkpad R40 Pentium M 1.5GHz 2GB RAM kasha

User avatar
Raion-Fox
Donor
Donor
Posts: 1331
Joined: Thu Jan 30, 2014 5:01 pm
Location: near King George, Virginia
Contact:

Re: Black Fox's Development Thread

Unread postby Raion-Fox » Sat May 30, 2015 12:13 am

mksh built! Tarball above.
:O3x02L: R16000 700MHz 8GB RAM kanna
:Octane: R12000 300MHz SI 896MB RAM yuuka
:Octane2: R12000A 400MHz V6 2.5GB RAM
:Indy: (Acclaim) R4600 133MHz XL Graphics 32MB RAM
:Indy: (Challenge S) R4600 133MHz (MIPS III Build Server)
Thinkpad W530 i7 3940XM 3GHz, 32GB, K1000M Windows 8.1 Embedded rin
Thinkpad R40 Pentium M 1.5GHz 2GB RAM kasha

User avatar
jimmer
Donor
Donor
Posts: 466
Joined: Tue Oct 12, 2004 3:54 pm
Location: London, Ingerlund

Re: Black Fox's Development Thread

Unread postby jimmer » Sat May 30, 2015 2:06 am

/usr/local FTW!

armanox
Posts: 206
Joined: Sun Feb 23, 2014 9:31 pm
Location: Baltimore, MD, USA

Re: Black Fox's Development Thread

Unread postby armanox » Sat May 30, 2015 7:03 am

Mmmm...a bittorrent client. Now there is something I'd like to see (Haven't tried building/porting myself).

I may share some things that I've built with great success or with some edits in this thread as well. I'm going to be fairly tied up for most of the day, but when I get the chance I will take a look. My builds are first tried with MIPSPro (for C, all C++ is done with GCC from my end), and I've got a rather large collection built in /usr/local.

Last year I know I built with success:
httpd-2.4
php5

And I will check my ~/src folder when I get the chance.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:

User avatar
Kumba
Posts: 234
Joined: Mon May 24, 2004 12:14 am
Location: Byzantine Secundus

Re: Black Fox's Development Thread

Unread postby Kumba » Sat May 30, 2015 8:32 am

TeamBlackFox wrote:I do not know C++ and do not care to. Do not ask me to port C++ based software - not gonna happen anytime soon.

Code: Select all

cout << ":(\n";


TeamBlackFox wrote:Priorities are first on getting them to compile using MIPSPro, if not I will fall back to GCC.
You might want to look at open64 as well. It's an old variant of gcc merged with some of the code from an unidentified version of MIPSPro. I've never tried it, though deep in the code, you can find some information on CPU scheduling for the R10K and Loongson. Main website is down right now, but was up a few weeks ago:
http://en.wikipedia.org/wiki/Open64


TeamBlackFox wrote:You're free to suggest programs, ...
systemd? :D

I'M KIDDING
:Onyx2: 4x R14000 :Tezro: 4x R16000 :Fuel: 1x R16000 :Octane: 2x R14000 :O2+: RM7000 :O2: R10000 :O2: RM5200 :Indigo: R4400 :Indigo2IMP: R10000 :Indigo2: R8000 :O3x0: 4x R14000 :Indy: R5000

"The past tempts us, the present confuses us, the future frightens us. And our lives slip away, moment by moment, lost in that vast, terrible in-between."
--Emperor Turhan, Centauri Republic

armanox
Posts: 206
Joined: Sun Feb 23, 2014 9:31 pm
Location: Baltimore, MD, USA

Re: Black Fox's Development Thread

Unread postby armanox » Sat May 30, 2015 8:40 am

Kumba wrote:
TeamBlackFox wrote:You're free to suggest programs, ...
systemd? :D

Banned
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:

User avatar
foetz
Moderator
Moderator
Posts: 6543
Joined: Mon Apr 14, 2003 4:34 am
Contact:

Re: Black Fox's Development Thread

Unread postby foetz » Sat May 30, 2015 8:42 am

does open64 run on irix?

User avatar
jan-jaap
Donor
Donor
Posts: 4881
Joined: Thu Jun 17, 2004 11:35 am
Location: Wijchen, The Netherlands
Contact:

Re: Black Fox's Development Thread

Unread postby jan-jaap » Sat May 30, 2015 10:50 am

No, it doesn't. I tried once but the build system was sufficiently Linuxified that I lost interest.

While it does have a MIPS code generator these days, it's not from MIPSpro.

The IRIX/MIPSpro compiler works like this:
* Front end: licensed from 3rd party, the Edinburgh Compiler Group (EDG). Many other commerial UNIX vendors used this front end, including the DEC/Compaq compilers for Tru64, and I'm pretty sure the Intel Compilers use it.
* Intermediate (optimizer): built by SGI
* Back end (code generator for MIPS CPUs): built by SGI.

Later, SGI built a new back end for IA64 CPUs, and open sourced the compiler as Open64. They couldn't open source parts they didn't own (EDG) so they replaced it with bits from GCC. The MIPS back end code was not open sourced.

Later on, other people implemented new back ends from scratch for x86-64, and MIPS.
:PI: :Indigo: :Indigo: :Indy: :Indy: :Indy: :Indigo2: :Indigo2: :Indigo2IMP: :Octane: :Octane2: :O2: :O2+: Image :Fuel: :Tezro: :4D70G: :Skywriter: :PWRSeries: :Crimson: :ChallengeL: :Onyx: :O200: :Onyx2: :O3x02L:
To accentuate the special identity of the IRIS 4D/70, Silicon Graphics' designers selected a new color palette. The machine's coating blends dark grey, raspberry and beige colors into a pleasing harmony. (IRIS 4D/70 Superworkstation Technical Report)

User avatar
jimmer
Donor
Donor
Posts: 466
Joined: Tue Oct 12, 2004 3:54 pm
Location: London, Ingerlund

Re: Black Fox's Development Thread

Unread postby jimmer » Sat May 30, 2015 2:17 pm

Also, from what little I understand and/or know from hardware, it seems to me that SGI MIPS CPU's are significantly different from the modern MIPS designs making it non-trivial/impossible to use modern MIPS compiler back-ends to generate code for older SGI MIPS CPUs.

People who actually know what they are talking about might want to correct my statement though.
:Fuel: redbox 800Mhz 4Gb V12
:O2: bluebox 200Mhz 256Mb AV1+O2Cam

User avatar
Raion-Fox
Donor
Donor
Posts: 1331
Joined: Thu Jan 30, 2014 5:01 pm
Location: near King George, Virginia
Contact:

Re: Black Fox's Development Thread

Unread postby Raion-Fox » Sat May 30, 2015 2:46 pm

jimmer wrote:Also, from what little I understand and/or know from hardware, it seems to me that SGI MIPS CPU's are significantly different from the modern MIPS designs making it non-trivial/impossible to use modern MIPS compiler back-ends to generate code for older SGI MIPS CPUs.

People who actually know what they are talking about might want to correct my statement though.


Its actually because modern MIPS ABI and CPUs expect little endian primarily.

On that note, screw Open64. Its dead. If someone wants a modern compiler for IRIX, build a MIPS backend for PCC.
:O3x02L: R16000 700MHz 8GB RAM kanna
:Octane: R12000 300MHz SI 896MB RAM yuuka
:Octane2: R12000A 400MHz V6 2.5GB RAM
:Indy: (Acclaim) R4600 133MHz XL Graphics 32MB RAM
:Indy: (Challenge S) R4600 133MHz (MIPS III Build Server)
Thinkpad W530 i7 3940XM 3GHz, 32GB, K1000M Windows 8.1 Embedded rin
Thinkpad R40 Pentium M 1.5GHz 2GB RAM kasha

armanox
Posts: 206
Joined: Sun Feb 23, 2014 9:31 pm
Location: Baltimore, MD, USA

Re: Black Fox's Development Thread

Unread postby armanox » Sat May 30, 2015 3:29 pm

I would love to see clang/llvm personally, but don't know if the talent to pull that off has any interest in doing that one.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:

User avatar
foetz
Moderator
Moderator
Posts: 6543
Joined: Mon Apr 14, 2003 4:34 am
Contact:

Re: Black Fox's Development Thread

Unread postby foetz » Sat May 30, 2015 4:58 pm

TeamBlackFox wrote:On that note, screw Open64. Its dead.

and doesn't run on irix so i'm not sure what reason Kumba had for recommending it

rwengerter
Posts: 96
Joined: Mon Nov 22, 2010 12:02 am
Location: Northern Bavaria, Germany

Re: Black Fox's Development Thread

Unread postby rwengerter » Sat May 30, 2015 5:30 pm

jan-jaap wrote:No, it doesn't. I tried once but the build system was sufficiently Linuxified that I lost interest.

While it does have a MIPS code generator these days, it's not from MIPSpro.

The IRIX/MIPSpro compiler works like this:
* Front end: licensed from 3rd party, the Edinburgh Compiler Group (EDG). Many other commerial UNIX vendors used this front end, including the DEC/Compaq compilers for Tru64, and I'm pretty sure the Intel Compilers use it.
* Intermediate (optimizer): built by SGI
* Back end (code generator for MIPS CPUs): built by SGI.

Later, SGI built a new back end for IA64 CPUs, and open sourced the compiler as Open64. They couldn't open source parts they didn't own (EDG) so they replaced it with bits from GCC. The MIPS back end code was not open sourced.

Later on, other people implemented new back ends from scratch for x86-64, and MIPS.


The answers from jan-jaap are currently the best in this thread (you know compilers, don't you? :) ). I have
worked several months with the Open64 compiler, so I am adding some missing pieces here. There is a library called
libspin in Open64 which translates gcc's Tree IR to the Open64 IR. The IR of Open64 is called WHIRL. One interesting aspect
of WHIRL is that all possible input languages which is C, C++, and Fortran 90 are compiled to the same IR. WHIRL has five levels: Very High WHIRL, High WHIRL, Mid WHIRL, Low WHIRL and Very Low WHIRL. Different compiler phases work on different
WHIRL levels. There is an ASCII representation of WHIRL, too which can be dumped after a compiler phase.

If you want to see for yourself I have attached WHIRL documents from sgi and from Open64.
Attachments
Open64 WHIRL.pdf
(453 KiB) Downloaded 17 times
WHIRL sgi.pdf
(285.25 KiB) Downloaded 19 times
:Fuel: 600 MHz, 2 GB RAM, 72 GB 15k RPM HD
:O2: 180 MHz

User avatar
vishnu
Donor
Donor
Posts: 3174
Joined: Sun Mar 18, 2007 3:25 pm
Location: Minneapolis, Minnesota USA

Re: Black Fox's Development Thread

Unread postby vishnu » Sun May 31, 2015 1:57 am

rwengerter wrote:esentation of WHIRL, too which can be dumped after a compiler phase.

If you want to see for yourself I have attached WHIRL documents from sgi and from Open64.

Thanks for that, I had no freaking idea sgi was still doing anything with compilers, wonders! :shock:
Project:
Temporarily lost at sea...
Plan:
World domination! Or something...

:Tezro: :Octane2:

armanox
Posts: 206
Joined: Sun Feb 23, 2014 9:31 pm
Location: Baltimore, MD, USA

Re: Black Fox's Development Thread

Unread postby armanox » Sun May 31, 2015 8:24 am

ivelegacy wrote:About Irix: i'd like to see "geany", as I feel I miss an useful IDE. I am a bit busy with other things at the moment, to care about Irix, also my Octane is still dead, and my friend doesn't want to put his IP28 online for more than 2 days a week (yesterday it was Online, I was lucky)

Code: Select all

*  dev-util/geany
      Homepage:      http://www.geany.org
      Description:   GTK+ based fast and lightweight IDE
      License:       GPL-2+ HPND


Geany is a powerful tool, unfortunately has to deal with GTK+, so … it may hurt hard. I am used to use it under linux just because I do not have to care about GTK+, ubuntu already has things configured and installed.


Hmm...I might take a look at that. Tied up trying to get some remote server deployments done this minute, but I might be able to check out the dependencies for it in the mean time and see where we would have to start.
"Apollo was astonished, Dionysus thought me mad."
:Octane: :Octane: :O2:


Return to “SGI: Development”

Who is online

Users browsing this forum: No registered users and 3 guests