Nekochan Net

Official Chat Channel: #nekochan // irc.nekochan.net
It is currently Thu Aug 28, 2014 9:13 pm

All times are UTC - 8 hours


Forum rules


Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.



Post new topic Reply to topic  [ 94 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Author Message
Unread postPosted: Mon May 14, 2012 10:03 pm 
Offline

Joined: Sat Nov 12, 2011 3:18 am
Posts: 330
Location: Tokyo
I think Portland, OR

_________________
[click for links to hinv] JP: :Fuel: |:Octane2: |:O2: | :Indy: || PL: [ :Fuel: :O2: :O2+: :Indy: ]


Top
 Profile  
 
Unread postPosted: Mon May 14, 2012 11:07 pm 
Offline

Joined: Tue Nov 17, 2009 2:08 am
Posts: 227
Location: Hamburg, Germany
If it helps, I would copy my working development environment to a spare O350 with 4x700mhz and connect it to the Internet.

_________________
:Tezro: :Fuel: :Octane2: :Octane: :Onyx2: :O2+: :O2: :Indy: :Indigo: :Cube:


Top
 Profile  
 
Unread postPosted: Tue May 15, 2012 2:50 am 
Offline
User avatar

Joined: Sun Jul 25, 2010 1:47 pm
Posts: 352
Location: Texas
The fastest system I have is a Fuel. I would be willing to connect it up and provide NCommander access also. I have emailed him to offer assistance... let's see.

_________________
--
:Octane2: :O2: :O2: :Indigo: :Indigo: :Indigo: :Fuel: :Indy: :Indy: :Indy: :Indigo2: :Indigo2IMP:


Top
 Profile  
 
Unread postPosted: Thu Jul 19, 2012 4:05 am 
Offline

Joined: Thu Feb 23, 2012 8:53 am
Posts: 39
I didn't mean to drop off the face of the planet but RL issues threatened to consume me on several fronts to the point I just went "ARGHBERHEW".

The linker issue is the most problematic. GNU ld simply can't generate largescale IRIX binaries without self-destructing, and without a 64-bit linker, we're kinda stuck. There was some references through Google that SGI released a 64-bit linker (that generates 64-bit binaries) but beyond that I have no idea where to find it. The file was called ld64x.

The other issues in Firefox is there's code that depends on Xrendr, but beyond that, I am not sure of the scope or scale of the issues involved with that. That being said, I did get Spidermoney fully working (with a *lot* of patching) to the point that it passed its test suite, so having a JS engine is definately possible. Given the work to get webkit working, it might be more benefitical if I take a stab at getting JavascriptKit (?)/JSC working which is the native webkit JS renderer.


Top
 Profile  
 
Unread postPosted: Thu Jul 19, 2012 5:49 am 
Offline
User avatar

Joined: Thu Jun 17, 2004 10:35 am
Posts: 3862
Location: Wijchen, The Netherlands
NCommander wrote:
There was some references through Google that SGI released a 64-bit linker (that generates 64-bit binaries) but beyond that I have no idea where to find it. The file was called ld64x.

It's called 'ldx64':
Code:
janjaap@speedo:~$ ls -l /usr/lib32/cmplrs/ld*
lrwxr-xr-x  1 root sys     12 Apr 12  2011 /usr/lib32/cmplrs/ld32 -> ../../lib/ld
-rwxr-xr-x  1 root sys 707076 Feb  2  2008 /usr/lib32/cmplrs/ld64
-rwxr-xr-x  1 root sys 809360 Feb  2  2008 /usr/lib32/cmplrs/ldx64

janjaap@speedo:~$ file /usr/lib32/cmplrs/ld64
/usr/lib32/cmplrs/ld64: ELF N32 MSB mips-3 dynamic executable MIPS - version 1

janjaap@speedo:~$ file /usr/lib32/cmplrs/ldx64
/usr/lib32/cmplrs/ldx64:        ELF 64-bit MSB mips-3 dynamic executable MIPS - version 1

All part of a default install of compiler_dev_744m.sw.ld

From the release notes:
Quote:
3.2.1 New 64-bit built linker Under certain
circumstances the default linker (because it is
built in the N32 ABI) could run out of virtual
address space and exit with an error: "I/O
Error: Out of Space". To address only those
types of error, MIPSpro 7.4.1m provides an
experimental linker built as a 64-bit binary,
ld64x, which can be invoked as:

%cc -64 -Zl,x t.c

This linker cannot be used in conjunction with
-IPA and is only provided as a workaround when
encountering the above error.

_________________
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2:(2x) :O3x02L:
In the museum: almost every MIPS/IRIX system.
Wanted: GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)


Top
 Profile  
 
Unread postPosted: Mon Dec 03, 2012 12:43 pm 
Offline
User avatar

Joined: Thu Dec 31, 2009 4:20 am
Posts: 295
Location: Bålsta, Sweden
So what is the current status now?

_________________
--
No Microsoft product was used in any way to write or send this text.
If you use a Microsoft product to read it, you're doing so at your own
risk.


Top
 Profile  
 
Unread postPosted: Mon Apr 29, 2013 3:14 pm 
Offline

Joined: Thu Feb 23, 2012 8:53 am
Posts: 39
So, I'm still alive. I've had some real life issues, but I won't mind taking another attempt at building this monster if someone else wants to try and get me on a box.

It appears someone tracked down the binutils issue we were having making it possible for gld to work on IRIX. If this is indeed the case, then it is simply a matter of building it as a 64-bit-to-32-bit binary, sliding GCC under it, and going from there.

http://sourceware.org/ml/binutils/2012-11/msg00409.html


Top
 Profile  
 
Unread postPosted: Mon Apr 29, 2013 3:53 pm 
Offline
User avatar

Joined: Wed Jul 25, 2012 6:12 pm
Posts: 892
Location: Sunny So Cal
I'm laughing a little here, because this is a carbon copy of the problems we had between Fx4 and Fx5 with TenFourFox -- libxul was too large to link with a 32-bit ld. We now use a 64-bit ld, backported to 10.4+. If you can get 10 up, 17 should not be a problem.

Is there any way to get your changesets against -esr10?

_________________
smit happens.

:Fuel: bigred, 800MHz R16K, 4GB RAM, V12, 6.5.30
:Indy: indy, 150MHz R4400SC, 256MB RAM, XL24, 6.5.10
:Indigo2IMP: purplehaze, R10000, Solid IMPACT (full hinv pending)
probably posted from Image bruce, 2x2x2.5GHz PowerPC 970MP, 8GB RAM, Mac OS X 10.4.11
plus IBM POWER6 p520 * Apple Network Server 500 * HP C8000 * BeBox * Solbourne S3000 * Commodore 128 * many more...


Top
 Profile  
 
Unread postPosted: Mon Apr 29, 2013 4:03 pm 
Offline

Joined: Thu Feb 23, 2012 8:53 am
Posts: 39
ClassicHasClass wrote:
I'm laughing a little here, because this is a carbon copy of the problems we had between Fx4 and Fx5 with TenFourFox -- libxul was too large to link with a 32-bit ld. We now use a 64-bit ld, backported to 10.4+. If you can get 10 up, 17 should not be a problem.

Is there any way to get your changesets against -esr10?


I'm pretty sure those changesets are gone, though I do have my original notes I took during the process plus this thread.

Rewriting the NSPR extensions will be a $#!@ pain, but I can probably do it mostly from memory (I had to add two members to a struct, modify the PRThread init function to calculate the offsets on the fly, and create getter functions, then patch SpiderMonkey in the right places).

If the linker is actually fixed (and I've learned more about toolchain development since I originally tried this), it shouldn't be TOO hard to solder on and make Firefox exist.

My biggest concerns were with Xrender, and properly ripping out WebGL, but there was no technical basis why the later simply couldn't be rm-ed, and the former ...

Well my understanding is apps requiring Xrender *do* work with the nekoware stub library; they just do all their rendering client-side and are slow.

Classic: I'd love to compare notes with your porting. Feel free to poke me on the official IRC channel.


Top
 Profile  
 
Unread postPosted: Mon Apr 29, 2013 8:32 pm 
Offline
User avatar

Joined: Wed Jul 25, 2012 6:12 pm
Posts: 892
Location: Sunny So Cal
Well, the NSPR part was the easy bit for us; it already worked with 10.4 in 3.6, so I just had to keep it that way. For WebGL, I just disabled it at the GfxInfo level since 10.4 doesn't support OpenGL 2 nor NPOT texture sizes.

Are you working off diegel's basis for 3.0.19, or did you do the NSPR bits yourself? The PRThread stuff sounds like it should be done to xpcom as well.

_________________
smit happens.

:Fuel: bigred, 800MHz R16K, 4GB RAM, V12, 6.5.30
:Indy: indy, 150MHz R4400SC, 256MB RAM, XL24, 6.5.10
:Indigo2IMP: purplehaze, R10000, Solid IMPACT (full hinv pending)
probably posted from Image bruce, 2x2x2.5GHz PowerPC 970MP, 8GB RAM, Mac OS X 10.4.11
plus IBM POWER6 p520 * Apple Network Server 500 * HP C8000 * BeBox * Solbourne S3000 * Commodore 128 * many more...


Top
 Profile  
 
Unread postPosted: Mon Apr 29, 2013 9:44 pm 
Offline

Joined: Thu Feb 23, 2012 8:53 am
Posts: 39
ClassicHasClass wrote:
Well, the NSPR part was the easy bit for us; it already worked with 10.4 in 3.6, so I just had to keep it that way. For WebGL, I just disabled it at the GfxInfo level since 10.4 doesn't support OpenGL 2 nor NPOT texture sizes.

Are you working off diegel's basis for 3.0.19, or did you do the NSPR bits yourself? The PRThread stuff sounds like it should be done to xpcom as well.


Well, SGI/Mozilla did the original NSPR port. That NSPR port is an absolute mess though, as it tries to use IRIX's own thread library vs. pthreads. I rewrote parts of NSPR to tie in the unix_pthreads layer, and then added additional functionality. Specifically, spidermonkey's garbage collector walks through the stacks of running threads looking for things to run. Because of this, SpiderMonkey needs to be able to know where a stack's address space and location is. I fixed this by having SpiderMonkey use NSThread's library, which in my port where pthreads with a special struct attached to them. When the thread is created, it manually sets the address space and stack size of the thread, and stores them in the struct, so I can retrieve it later.

It's a pretty elegant hack IMHO. Spidermonkey (mostly) passed its test suite with additional patching.

XPCom was a stub in my version, since I needed libxul.so to exist so I can run test suite to figure out how far I could get. XPCom needs to know the C and C++ ABI of a given architecture/operating system. There was a version of XPCom for MIPSpro, but GCC has a different C++ ABI, so I knew that would fail. To fix it would require reverse engineering the proper function prologs and epilogues. Generally if you can XPCom+spidermonkey to pass its test suite, there is a pretty decent chance the damn thing might actually run.

Looking at my old messages, diegel got a dump of the hard drive from the box I did the porting, though I don't know how much code he reused. From the earlier discussions, the issues was with Firefox was that it linked, but fell over mysteriously. I think this was the issue I ran into the pthreads library I hit in Spidermonkey; specifically IRIX is extremely sensitive to the linking idea, and re-writing the linking order via _RLD32 magic variables was able to get it to work.


Top
 Profile  
 
Unread postPosted: Tue Apr 30, 2013 5:29 am 
Offline
User avatar

Joined: Wed Jul 25, 2012 6:12 pm
Posts: 892
Location: Sunny So Cal
diegel is using gcc, so he must have solved the ABI issue (you can't do xptcalls without it, and xptcalls haven't changed in aeons).

That's a clever solution to JS GC.

I could still reconstruct appliable changesets (I guess this calls for porting hg to nekoware 8) ), if you have the source tree you were working with in any form. This sounds highly doable. For TenFourFox, I just distribute changesets overlaid on top of -esr10/17/etc., and I think the same approach works here.

_________________
smit happens.

:Fuel: bigred, 800MHz R16K, 4GB RAM, V12, 6.5.30
:Indy: indy, 150MHz R4400SC, 256MB RAM, XL24, 6.5.10
:Indigo2IMP: purplehaze, R10000, Solid IMPACT (full hinv pending)
probably posted from Image bruce, 2x2x2.5GHz PowerPC 970MP, 8GB RAM, Mac OS X 10.4.11
plus IBM POWER6 p520 * Apple Network Server 500 * HP C8000 * BeBox * Solbourne S3000 * Commodore 128 * many more...


Top
 Profile  
 
Unread postPosted: Tue Apr 30, 2013 5:59 am 
Offline

Joined: Sat Nov 12, 2011 3:18 am
Posts: 330
Location: Tokyo
NCommander wrote:
ClassicHasClass wrote:
Is there any way to get your changesets against -esr10?


I'm pretty sure those changesets are gone, though I do have my original notes I took during the process plus this thread.


Well, I still do have all the stuff you did, let me know if you want it in any form...

_________________
[click for links to hinv] JP: :Fuel: |:Octane2: |:O2: | :Indy: || PL: [ :Fuel: :O2: :O2+: :Indy: ]


Top
 Profile  
 
Unread postPosted: Tue Apr 30, 2013 11:41 am 
Offline

Joined: Thu Feb 23, 2012 8:53 am
Posts: 39
ClassicHasClass wrote:
diegel is using gcc, so he must have solved the ABI issue (you can't do xptcalls without it, and xptcalls haven't changed in aeons).

That's a clever solution to JS GC.

I could still reconstruct appliable changesets (I guess this calls for porting hg to nekoware 8) ), if you have the source tree you were working with in any form. This sounds highly doable. For TenFourFox, I just distribute changesets overlaid on top of -esr10/17/etc., and I think the same approach works here.


Hrm, its possible xpcom between MIPSpro/GCC might be compatible. I never looked into the C++ breakage issue with GCC, but if it was just a managling issue vs. an actual change in calling convention, then its possible it "just might work". Would make life a LOT easier than writing a new one from scratch.

kubatyszko wrote:
NCommander wrote:
ClassicHasClass wrote:
Is there any way to get your changesets against -esr10?


I'm pretty sure those changesets are gone, though I do have my original notes I took during the process plus this thread.


Well, I still do have all the stuff you did, let me know if you want it in any form...


A tarball might be nice to fish to recover patches, and possibly some of the hand-built binaries I rolled.


Top
 Profile  
 
Unread postPosted: Tue Apr 30, 2013 10:06 pm 
Offline
User avatar

Joined: Wed Jul 25, 2012 6:12 pm
Posts: 892
Location: Sunny So Cal
kubatyszko wrote:
NCommander wrote:
ClassicHasClass wrote:
Is there any way to get your changesets against -esr10?


I'm pretty sure those changesets are gone, though I do have my original notes I took during the process plus this thread.


Well, I still do have all the stuff you did, let me know if you want it in any form...


I would love a tarball. I can reconstruct changesets from that manually. PM me! :D

_________________
smit happens.

:Fuel: bigred, 800MHz R16K, 4GB RAM, V12, 6.5.30
:Indy: indy, 150MHz R4400SC, 256MB RAM, XL24, 6.5.10
:Indigo2IMP: purplehaze, R10000, Solid IMPACT (full hinv pending)
probably posted from Image bruce, 2x2x2.5GHz PowerPC 970MP, 8GB RAM, Mac OS X 10.4.11
plus IBM POWER6 p520 * Apple Network Server 500 * HP C8000 * BeBox * Solbourne S3000 * Commodore 128 * many more...


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 94 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next

All times are UTC - 8 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group