Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Patch PPL version to build with gcc 6 | Jeffrey Lee | 2017-09-19 | 1 | -0/+175 |
| | |||||
* | Revert "update ppl library version for risc os builds" | Vincent Sanders | 2017-09-16 | 1 | -11/+0 |
| | | | | This reverts commit a04a4d532b4a48abbc47afcc01488171e7a411d8. | ||||
* | update ppl library version for risc os builds | Vincent Sanders | 2017-09-16 | 1 | -0/+11 |
| | |||||
* | Backport change to avoid SWP from upstream | John-Mark Bell | 2016-03-25 | 1 | -0/+304 |
| | |||||
* | RISC OS: fix up tooling for GCCSDK 4.7.4r2 | John-Mark Bell | 2015-11-13 | 5 | -31/+10 |
| | | | | | | | | | | | | * Makefile: Update to reflect upstream tree structure * recipes/patches/gcc4/binutils-plugins.p, recipes/patches/gcc4/gmp-force-build.p: Refresh context * recipes/patches/gcc4/python2.5.p: Drop: Python 2.5 is ancient * recipes/patches/gcc4/riscos.md.p: Drop: merged upstream | ||||
* | Update RISC OS GCCSDK to 4.7.4v2 release | Vincent Sanders | 2015-11-12 | 1 | -2/+2 |
| | | | | | This is required to address an issue with poll returning bad fd errors which cause netsurf fetches to fail. | ||||
* | RISC OS: add patch to fix stack corruption | John-Mark Bell | 2015-08-14 | 1 | -0/+10 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given a function such as this: void foo(void) { register unsigned int sp __asm__("sp"); _exit(sp); } GCCSDK 4.7.4 release 1 will generate the following output when the optimiser is enabled (it doesn't matter which optimisation level is chosen, so long as it's >0): mov ip, sp stmfd sp!, {fp, ip, lr, pc} cmp sp, sl bllt __rt_stkovf_split_small mov r0, sp bl _exit If this function is called from a parent that has caused the current stack chunk to be fully utilised (i.e. SP on entry to foo is less than SL), then the stack chunk extender will be called. __rt_stkovf_split_small will replace the return address of the current stack frame with the address of the stack chunk cleanup function (that foo is effectively noreturn doesn't matter here). The real return address is squirreled away in a field at the base of the new stack chunk, and will be retrieved by the cleanup code. In the function prologue emitted above, however, the frame pointer is not updated before the stack check is performed. The result is that the *parent* function's stack frame will be modified instead. This causes much badness as the parent function is using a completely different stack chunk and so, when it returns to its parent, we will very likely branch through zero (if the parent's stack chunk is the initial chunk) or return to some unexpected place further up the call stack, most likely with the wrong result values (if the parent's stack chunk is not the initial chunk) To fix this, we mark rt_stkovf_v5_clobbered as using r11 (fp), in much the same way as rt_stkovf already does. This prevents the peephole optimiser optimising out the frame pointer update. This results in this much more sensible output: mov ip, sp stmfd sp!, {fp, ip, lr, pc} sub fp, ip, #4 cmp sp, sl bllt __rt_stkovf_split_small mov r0, sp bl _exit This ensures that the correct stack frame is modified by __rt_stkovf_split_small. Note that, in this particular case, foo does not return, so the stack chunk cleaning won't happen. This isn't really a problem, as the only real ways out of functions which do not return are process exit, or longjmp which, in the UnixLib implementation, explicitly cleans up stack chunks before returning control to the location specified in the jmp_buf. | ||||
* | Update pinned GCCSDK revision to include recent fixes, importantly gmplib ↵ | Rob Kendrick | 2015-03-04 | 1 | -1/+1 |
| | | | | download URL | ||||
* | force arm-unknowm-riscos gmp build to x86_64 otherwise compiling on VM hosts ↵ | Vincent Sanders | 2014-12-10 | 1 | -0/+11 |
| | | | | fails | ||||
* | unecessary to set version explictly | Vincent Sanders | 2014-12-09 | 1 | -11/+0 |
| | |||||
* | force gcc 4.7 svn version | Vincent Sanders | 2014-12-09 | 1 | -0/+11 |
| | |||||
* | Merge branch 'rjek/gccsdk-4.7.4' of ssh://git.netsurf-browser.org/toolchains ↵rjek/gccsdk-4.7.4 | Rob Kendrick | 2014-11-16 | 1 | -0/+3 |
|\ | | | | | | | into rjek/gccsdk-4.7.4 | ||||
| * | Remove trampoline binaries created by newer GCCSDK | Rob Kendrick | 2014-11-16 | 1 | -0/+3 |
| | | |||||
* | | Build RISC OS binutils with --enable-plugins | Rob Kendrick | 2014-11-16 | 1 | -0/+11 |
|/ | |||||
* | Upgrade GCCSDK and OSLib | Rob Kendrick | 2014-11-16 | 3 | -387/+7 |
| | | | | | | - GCCSDK is tied to a specific trunk revision, which appears to work and gives us 4.7.4 - OSLib upgraded from specific trunk revision to 7.00 release. | ||||
* | Further texinfo fixes | John-Mark Bell | 2014-11-15 | 1 | -48/+151 |
| | |||||
* | Further texinfo fixes for binutils 2.21 | John-Mark Bell | 2014-11-15 | 1 | -1/+175 |
| | |||||
* | Further fixups for GCCSDK build | John-Mark Bell | 2014-11-15 | 1 | -1/+41 |
| | |||||
* | Speculative fix for RISC OS GCCSDK build. | John-Mark Bell | 2014-11-15 | 1 | -0/+48 |
| | |||||
* | ARM-Unknown-RISCOS: fix OSLib SVN URI. | John-Mark Bell | 2014-01-05 | 1 | -1/+1 |
| | |||||
* | make spidermonkey 1.8.5 build without JIT on RISC OS | Vincent Sanders | 2012-12-16 | 1 | -0/+2 |
| | | | | add support for spidermonkey 1.7.0 source | ||||
* | Dirty hack to make GCCSDK build with Python2.5 | John-Mark Bell | 2012-11-07 | 1 | -0/+11 |
| | |||||
* | Switch from Infozip's FTP site to sourceforge for download | Daniel Silverstone | 2012-11-03 | 1 | -2/+2 |
| | |||||
* | Fix GIT URIs, add Squeeze to targets. | John-Mark Bell | 2012-10-07 | 1 | -3/+3 |
| | |||||
* | Change squeeze var. names. | Michael Drake | 2012-10-07 | 1 | -3/+3 |
| | |||||
* | Add squeeze. Get makerun from git. Untested. | Michael Drake | 2012-10-07 | 1 | -4/+21 |
| | |||||
* | Remove @. | Michael Drake | 2012-10-01 | 1 | -1/+1 |
| | |||||
* | Update comments. | Michael Drake | 2012-10-01 | 1 | -2/+2 |
| | |||||
* | Update to GCCSDK 4.1.2 v2. | Michael Drake | 2012-10-01 | 4 | -126/+2 |
| | |||||
* | Update to build from scratch | Vincent Sanders | 2012-07-17 | 1 | -0/+2 |
| | | | | Add basic README containing dependancies and risc os build instructions | ||||
* | Patch to fix bug in UnixLib stack extension causing the signal handler stack ↵ | John Mark Bell | 2011-10-27 | 1 | -0/+88 |
| | | | | | | to be trampled. svn path=/toolchains/; revision=13081 | ||||
* | Fixup bitrot: | John Mark Bell | 2011-10-27 | 4 | -41/+127 |
| | | | | | | | | * Makefile now uses the same scheme as the other toolchains for dependency tracking * Binutils 2.21 is no longer available so migrate to 2.21.1 with a partial backport of GCCSDK r5195 * Introduce patch to fix bug in defmod that causes OSLib builds to fail with GAS 2.21.1 (will be upstreamed asap) svn path=/toolchains/; revision=13080 | ||||
* | Make my views on installing build host tooling into the target environment clear | John Mark Bell | 2011-01-04 | 1 | -0/+1 |
| | | | | svn path=/toolchains/; revision=11195 | ||||
* | Add Infozip to toolchain (patches shamelessly stolen from the GCCSDK ↵ | John Mark Bell | 2011-01-04 | 4 | -1/+252 |
| | | | | | | autobuilder) svn path=/toolchains/; revision=11194 | ||||
* | Add makerun to toolchain | John Mark Bell | 2011-01-02 | 1 | -1/+15 |
| | | | | svn path=/toolchains/; revision=11187 | ||||
* | Move OSLib build to the arm-unknown-riscos toolchain | John Mark Bell | 2011-01-02 | 1 | -5/+44 |
| | | | | | | Add CCRes to the toolchain svn path=/toolchains/; revision=11183 | ||||
* | Build runes for the RISC OS toolchain | John Mark Bell | 2010-12-30 | 2 | -0/+41 |
svn path=/toolchains/; revision=11170 |