[FX] drumsticks: OSX Release (G5 optimised) - NO MORE

Discussion of third-party/unofficial Firefox/Thunderbird/SeaMonkey builds.
Post Reply
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

It seems that my Thunderbird builds are not working in 10.4, but are working fine in 10.3. I'll see if I can work out why.

Firefox works fine in both 10.3 and 10.4
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

Like everyone else, I can't seem to build on 10.4 despite trying all combinations of GCC3.3/4.0 as well as all the SDKs. So, these builds are made on 10.3. Strangely enough, my build of Firefox runs in 10.4, but my build of Thunderbird crashes upon startup. I might have to have a play around with my mozconfig. It's a bit troublesome to boot 10.3 to build and then 10.4 to test though...

20050430 Firefox
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

<Redundant>
Last edited by drumsticks on May 4th, 2005, 3:09 am, edited 1 time in total.
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

Thunderbird still won't start in Tiger! Any builders having similar experiences?

20050502 Firefox No more jump to top errors!
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

I've changed the mozconfig for both Firefox and Thunderbird today. I find that that these simpler optimizations options seem to run faster in Tiger compared to the one that I had before. Further, I'm now building using the 10.2.8SDK, which means it should run on 10.2 (untested), 10.3 and 10.4. Let me know how it's going for you.

20050504 Firefox
20050504 Thunderbird
|2uso
Posts: 67
Joined: March 6th, 2004, 10:37 am
Location: Venezuela

Post by |2uso »

What gcc and OS version are you using now, still on Panther?
Macintosh G5/1800 uniprocessor - 1Gb RAM - 320 Gb SATA soft raid strip mode
Mac OS X 10.4.3 - XCode 2.1 - GCC 4.0
Camino G5 optimized home made
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

|2uso wrote:What gcc and OS version are you using now, still on Panther?


Yup. I boot my system into Panther just to compile these while I have my dinner, then back to Tiger for normal use after that.

Panther config: 10.3.9, XCode 1.2 (GCC 3.3)
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

Maybe you need a Mini for a build machine.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

mmoy wrote:Maybe you need a Mini for a build machine.


Hehe. But it wouldn't be a G5 build, now would it?
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

Why not? The instruction set is the same between the two processors so it should be able to build G4 or G5.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

Last I heard, it wasn't possible to optimize for one processor using another. Then again, I heard that the there was work to build Mac versions on a Windows machine - completely different instruction set! (Not optimized though) I'm not so sure now. I never actually tried to verify it.

I thought that the G5 had some specific intructions that the G4 didn't have (and vice versa)? Sort of like how the P4 is a superset of the P3, which in turn is a superset of the P2, etc... And when you add AMD into the picture, they have their own specific intructions as well as generic ones? Isn't that the whole point of CPU optimization? To use instructions specific to a particular CPU instead of relying on the generic code?

Of course, you may say that the above is true for the *execution* of the machine code, but one can always *generate* the machine code on any architecture. I really don't know...

In either case, I have no need for another machine and don't mind the current arrangement for a while. Waiting patiently for Tiger compilable code...
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

As far as I know, the instruction set is the same for the G4 and G5. The difference is that the G5 has two extra execution engines and a longer pipeline. I know that I can run G4 or G5 code on my G5 and assume that those with G4s can run either as well.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
|2uso
Posts: 67
Joined: March 6th, 2004, 10:37 am
Location: Venezuela

Post by |2uso »

Teoricaly, with -mcpu=G5 and -mtune=G5 basically you are telling gcc that compile for the set of advanced instructions present in G5 and make extensive use of all of'em, G4 and G5 are almost exactly at this part. The trouble begins with the use of 64 bit, remember G4 is a 32 bit based proccesor. But I think FF will compile anyway in a G4 with optimization flags for 64 bits, obiously you cannot use the resulting build in that machine. With different architectures is another history, you need a compiler optimized for crosscompiling and it's not that easier as you read...

Would be useful a hacker opinion/knowledge in here, just to be sure of above and, of course, to learn :-D

Someday, when the seaport release my stuck USB/Firewire HDD Enclosure I will do the same as you: build with Panther and to live in Tiger ;-)
Macintosh G5/1800 uniprocessor - 1Gb RAM - 320 Gb SATA soft raid strip mode
Mac OS X 10.4.3 - XCode 2.1 - GCC 4.0
Camino G5 optimized home made
mento
Posts: 180
Joined: April 23rd, 2005, 1:33 pm

Post by mento »

The G4 and G5 instruction sets are mostly identical. The G5 does build on the G4 instruction set slightly. For those of you who have glanced at the gcc man page, the G4 supports "gfxopt" (as does every Apple-shipped PPC except the original 601 "transition chip") and the G5 also adds "gpopt". The G5, of course, also supports 64-bit operations, -mpowerpc64.

This is independent of whether or not you can build on a specific machine: if you can build on one Apple, you'll be able to build on another. You can give -mcpu=970 on a G4 and produce G5-optimized output identical to what you'd produce on a G5. You won't be able to run it, though, because the output will be marked as G5-only and the G4 will refuse to run it. If you build with -force_cpusubtype_ALL, the executable won't be so marked and a G4 will attempt to run it, but the program will fail upon hitting any code that's G5-specific, if any.

Finally, if you're waiting to be able to build under Tiger, you might be interested in bug 292530.
drumsticks
Posts: 607
Joined: April 14th, 2005, 4:32 am
Location: Australia

Post by drumsticks »

mento, thanks for the clarification. Still not going to get a mini though :)

A few more question: Are there G4 specific code that the G5 cannot run? Or is the G5 a superset of the G4?

What about the use of different SDKs? Will using an older SDK compromise performance? Presumably newer SDKs are better written and are more efficient?
Post Reply