Page MenuHomeWildfire Games

Enable support for powerpc64 systems
Needs ReviewPublic

Authored by tpearson-raptor on Aug 21 2018, 12:03 AM.

Details

Reviewers
Itms
s0600204
Summary

All features tested and work in actual gameplay.

Test Plan

All features tested and work in gameplay tests. Internal checks pass with no errors.

Test hardware:
Talos II system with dual POWER9 CPUs, AMD Radeon WX7100 graphics, open amdgpu driver stack.

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

Requires http://trac.wildfiregames.com/ticket/5292 . This is why libraries/source/spidermonkey/mozjs-38.2.1.rc0.tar.bz2 has been flagged as needing changes.

Add omitted copyright line

smiley added a subscriber: smiley.Aug 21 2018, 3:11 AM

IIRC, I have seen diff files in the repo for changing the file. So I suppose you can just add the diff to this revision.
I’m not sure though. Or you could just wait for a reviewers instructions.

s0600204 requested changes to this revision.Aug 21 2018, 6:44 PM
s0600204 added a subscriber: wraitii.

Is there a process to patch the stock .tar.bz2 sources?

Yes, yes there is.

When spidermonkey is to be compiled, the .tar.bz2 is uncompressed, then patch.sh (in the same directory as the .tar.bz2 archive) is run. This applies the *.diff files (also in the same directory) to the newly-uncompressed source.

So. Instead of replacing the .tar.bz2 file, could you create a .diff file, and set it up to be used inside patch.sh (with a brief/succinct/descriptive comment as to what it does/is for).

As to nvtt, we do patch the source (as you have done below), but the specific changeset applied should also be contained inside a .patch file inside libraries/source/nvtt/patches and a line should be added to libraries/source/nvtt/README.txt describing why its needed.

Thanks for your efforts so far!


There is a plan to upgrade SpiderMonkey to version 45.0.2 (D1510), as a waypoint on the route to eventually upgrade to version 60 or 62 (no changeset supplied yet afaik). @wraitii was working on that, so might have some comments to make here. For extra bonus points, you could look into checking that SM45 works on ppc64 systems as well. (Any changes required to make SM45 work on ppc64 that are not needed to make SM38 work on ppc64 should be in its own separate, albeit dependant, revision.)


A note about copyright notices: We do not mention individual persons or companies. If someone wishes to see who last changed a file, or specific lines within a file, then that can be obtained by querying the version-control systems. (We're usually good with attributions in commit messages.)


This appears to be your first contribution. Welcome to the project!

As such, you may include a small diff to add yourself to the credits: ./binaries/data/mods/public/gui/credits/texts/programming.json (Not compulsory, a small number of people prefer to go uncredited.)

This revision now requires changes to proceed.Aug 21 2018, 6:44 PM

Move spidermonkey and nvtt patches into dedicated patch files
Fix copyright lines per instructions

Thanks for the detailed instructions! Patchset has been updated.

To be best of my knowledge spidermonkey just works on ppc64 in later versions -- the problem here was the old 3.8 version. There are a number of folks maintaining Firefox now on ppc64, so support going forward looks fine.

elexis removed a reviewer: elexis.Aug 21 2018, 7:58 PM

SM52, not 60/62 afaics unless we want to go with unreleased SM.

Better, thank you.

I don't have a ppc64 system, so I'll have to take your word for it that this works, but I can confirm that these changes don't mess up compilation on my x86_64 system.

I'm also not that familiar with c++, so I'd like someone else take a look at this before its accepted.

libraries/source/spidermonkey/patch.sh
57

-p5