summaryrefslogtreecommitdiff
path: root/sdk/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* m68k-unknown-amigaos: revert openssl bsdsocket changeHEADmasterChris Young2024-01-041-1/+2
| | | | This wasn't relevant to the AmiSSL change and should have been left alone.
* m68k-unknown-amigaos: Switch libcurl to AmiSSL v5Chris Young2024-01-041-5/+3
| | | | | | | libcurl+OpenSSL+NetSurf doesn't connect to secure sites under OS3.x. Confirmed libcurl+AmiSSL (v5.13)+NetSurf, along with Miami, is a working combination under AmigaOS 3.2.2.1
* sdk: Fix libexpat download URLMichael Drake2023-12-181-1/+1
|
* SDK/c-ares: m68k-unknown-amigaos needs -lmJohn-Mark Bell2023-12-171-1/+2
|
* SDK: update; refresh URIs; verify checksumsJohn-Mark Bell2023-12-091-36/+60
|
* SDK: bump openssl and curlJohn-Mark Bell2023-10-111-2/+2
|
* SDK: update zlib URIJohn-Mark Bell2023-10-011-1/+1
|
* m68k-atari-mint: update SDK patches and LDG versionJohn-Mark Bell2023-10-011-5/+5
|
* SDK: bump library versionsJohn-Mark Bell2023-09-171-6/+6
|
* allow libcurl to build with static caresVincent Sanders2023-03-141-2/+2
|
* change openssl 3 targets when compiling with mingwVincent Sanders2023-03-121-2/+9
|
* SDK/arm-riscos-gnueabi: generate unwind tablesJohn-Mark Bell2023-03-071-0/+3
|
* Allow windows 64 bit build of the SDKVincent Sanders2023-03-061-0/+9
|
* Add arm-riscos-gnueabi toolchain/SDK.John-Mark Bell2023-03-051-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit a0966d9ac38b7efa6c0bbb0994daee001126ac10 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Nov 3 21:19:26 2022 +0000 arm-riscos-gnueabi: update squeeze Picks up Makefile changes that understand more than arm-unknown-riscos. No functional change, however. commit 7f0fa52027ace273ab5d7227d14a4be749cbc250 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Nov 3 19:37:32 2022 +0000 SDK: follow arm-riscos-gnueabi triplet rename commit dcfea919e2fe4677bad0d92b308ff0326e056d65 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Nov 3 19:34:26 2022 +0000 Patch upstream patches to match arm-riscos-gnueabi commit 525ecd97ac5b445ea7a61a34c581efa613bd8385 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Nov 3 19:31:20 2022 +0000 Drop "hf" from arm-riscos-gnueabihf ABI triplet The way we configure this toolchain means that it will generate Risc PC-compatible ARMv4 binaries using the soft-float ABI. These are not compatible with the ARMv7 hard-float binaries produced by the upstream compiler, so change the triplet to avoid confusion. commit 6172d5deb9181c9adf0653a336deadaf830bf416 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Tue Nov 1 20:02:44 2022 +0000 SDK/arm-unknown-riscos: poke function names commit a8dda8698a3176a53e37ec1a247b208254f47504 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Sun Jun 5 20:08:39 2022 +0100 Fix unixlib-stdtime.p Previous attempt contained unrelated detritus already present in posix-extended-locale.p commit 17154570d6c6f16dc031603728db07cae081ef18 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Sun Jun 5 19:58:38 2022 +0100 Fix __standard_time() Territory_ConvertDateAndTime modifies r0-r3. Previously, UnixLib was only telling the compiler that r0 and r1 were modified. This resulted in the register allocator assuming that the value of r2 on exit was the same as it was on entry and thus returning a completely garbage value as the result of __standard_time(). Resolve this by telling the compiler the full facts. commit c675a0029ddca4617c68d792bff5516ad5faf418 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Fri Jun 3 23:30:54 2022 +0100 Use UnixLib's atomics implementation Stop libgcc pulling in the atomics implementation for Linux. This does not work on RISC OS and will result in unexpected aborts deep in application code. Additionally, enable the __sync_fetch_and_<op>_<size> atomics when building UnixLib for EABI. It's not clear why these were disabled, but things that need them will fail to link if they are not present. commit a81418bfbd348d3adb63b286923adef3c5a7ad6f Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Fri Jun 3 23:27:50 2022 +0100 Revert "Fix stack backtraces from UnixLib" This reverts commit 7f53178a4cdbed363328a5fa60bead742bd628aa. It turns out that the situation with stack frames in the EABI toolchain is currently completely inconsistent. Some functions end up with APCS-32 stack frames, others with AAPCS frames. It is not reliably possible to distinguish which is which when unwinding the stack to generate a backtrace. It also means that the signal stack frame created in _signal.s would need to reflect whatever reality made sense for the function that aborted. Give up. commit ebbf5913513c2cffc850f48510bcf1dbd60aced3 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Fri Jun 3 20:24:10 2022 +0100 Fix stack backtraces from UnixLib The frame pointer to the signal stack frame was off-by-one resulting in unwinding terminating early. Additionally, we can dump the register state at the point of the abort now. commit 7b181629a1aa80dfcebcc744d0f980c133a6ab6e Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Fri Jun 3 17:45:06 2022 +0100 Teach elf2aif to handle EABI binaries The previous attempt was bogus as elf2aif is built for the system that the cross compiler runs on and thus __ARM_EABI__ would only be set if the cross compiler was built for an ARM-based system. Further, removing the OSABI check completely is fragile, so let's not do that. Instead, we introduce a new command line option for elf2aif which must be specified if processing EABI binaries. This alters the OSABI check to test for SysV, rather than ARM in the EABI case. Additionally, correct functioning of ARMEABISupport is reliant on the application loader to cause the ARMEABISupport abort handler to be installed. For ELF binaries, this is ensured by SOManager. For AIF binaries, however, RISC OS itself knows nothing about ARMEABISupport and thus will not ensure that the abort handler is installed. Make elf2aif inject the necessary SWI call into _start (overwriting instructions that are meaningless when the binary is not loaded by SOManager). This ensures that the abort handler is installed as early in the application execution as possible (and long before any memory managed by ARMEABISupport is allocated). commit 9fd4d4243d5e3449e72d4915269db1aa23cba831 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Jun 2 20:32:30 2022 +0100 SDK build runes for arm-riscos-gnueabihf Follows the existing arm-unknown-riscos setup. commit 9f22af07a249f778f8a8da4306ef625e203de4ad Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Jun 2 19:40:02 2022 +0100 Make ro-install available The OSLib buildsystem expects this to exist, so ensure it does, patching the original to find the correct objdump binary. commit ce797f8c661d671bdb3be2b2bb78b0ff2d31d6d3 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Jun 2 19:17:43 2022 +0100 Teach OSLib about EABI This introduces a new asmtype to defmod which invokes the correct GCC for the task. It may be necessary to perform further surgery to defmod's assembler generation to address places where the EABI calling conventions don't match APCS-32 (note that there is no floating point involved here, so that's one headache avoided). Update the OSLib build system to allow building for an EABI target. commit dbfc576658cf6f641ae3444b34f10441aaea1fbd Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Jun 2 16:34:10 2022 +0100 Fix OS ABI check when building elf2aif for EABI Binaries built with the arm-riscos-gnueabihf toolchain have an OS ABI of none (i.e. Sys-V) in the ELF header. elf2aif expected the declared ABI to be ARM as that is what the previous tooling emitted. Fix up this check to reflect the new reality. commit 7785b12e408974061c60a3b7d673ab34769809cc Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Jun 2 16:33:05 2022 +0100 Fetch and build additional tools Specifically: asasm, elf2aif, ln, mkres commit 0b97e40c9b308b135b6527fd1124d53fb1726099 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Jun 2 03:32:08 2022 +0100 Don't pull in ARMv7-specific memcpy() and friends. Hiding this behind ARM_EABI probably isn't the complete answer as the calling convention doesn't have much to say about the platform the end result is run on. commit bb81aa2f16039ef22c59931969bd41c1e6a2c477 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Thu Jun 2 02:01:04 2022 +0100 Fix initial stack allocation for EABI and soft FP. In this case, there are no VFP registers to reserve space for at the top of the application stack. Thus, the stack pointer points at the top of the stack when we ask ARMEABISupport to give us the stack handle. Unfortunately, despite the top address being given to us by ARMEABISupport in the first place, it does not consider the top of the stack to be part of the stack's storage space and thus we fail to obtain our stack handle and the application aborts. Work around this by discarding the top N bytes of the stack when EABI and soft FP are active. The resulting stack pointer will be aligned to a multiple of 8 bytes in the usual way for AAPCS. Additionally, resolve another stack imbalance in an error path that was spotted while working through this. commit cb7a97a09c4a6e8932d0ec1ae786d904ab917e29 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Wed Jun 1 19:59:30 2022 +0100 Build riscos-ld for armv4 commit dc90f45614bfe40caf3e3b93aef55a7dfedd3da3 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Wed Jun 1 10:28:20 2022 +0100 Disable halfword accesses by default. We don't want these at all until such time as we drop support for the Risc PC. Due to the unique way that its bus operates (it was designed for armv3 parts), 16bit accesses fail horribly, even if the CPU supports armv4 (like StrongARM does). Disabling this by default ensures that everything built by this toolchain should run happily on such systems (unless someone explicitly opts in to LDRH/STRH generation by passing -mhalfword-accesses). Note that other armv4 access instructions (such as LDRSB) are not affected by this option at all. commit 4f71aa98cf4174d5121f6348ca8b84d31f2532b4 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Wed Jun 1 10:27:09 2022 +0100 Add a -mhalfword-access flag to GCC. This defaults to "on", as that's what most sane people want when building for armv4 or later. commit 3dc0c7fe56e19b23f7188c21619dfaa36e7f245a Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Wed Jun 1 09:59:33 2022 +0100 Patch UnixLib to build for armv4 when using EABI. There are a few places where a decision is made at runtime as to which atomic operations to perform. Modern gas objects to this scheme if it isn't told about it, resulting in errors from the assembler and failed builds. Tell gas what we're doing and make the SWP-present logic depend on the architecture that UnixLib is being built for (if you build for armv6 or later in EABI mode, then no runtime decision or SWP instructions will be emitted). Additionally, there's a similar case where LDREX/STREX is used from inline assembler in the __cmpxchg atomic built when targetting EABI. Make this, too, conditional on building for armv6 or later. commit 7e92f43f41287d46a20324bcc162aa4c4c01730c Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Wed Jun 1 08:04:28 2022 +0100 Make config.sub identify RISC OS; libtool follows. The logic in libtool.m4 looks somewhat confused. This is a direct translation of what was there already to the new world. It may need further changes to work reliably. commit 4512fa86374a3691e181afacbca79ea71be6d649 Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Wed Jun 1 05:50:18 2022 +0100 "Fix" FTBFS: disable maintainer mode for binutils. Enabling maintainer mode causes bfd-in2.h to be regenerated from bfd-in.h. This results in the "riscos_module" field in the elf32_arm_params to be wrapped in #ifdef __RISCOS_TARGET___. While this is defined when bfd itself is built, it is not defined when ld is compiled, resulting in a failure to compile earmelf_riscos_eabi.c (as it expects to be able to address that parameter. commit 58d3a5a992c535c27d9ebb3bcba97eb14b3229ea Author: John-Mark Bell <jmb@netsurf-browser.org> Date: Wed Jun 1 01:15:14 2022 +0100 First cut at GCC 10/arm-riscos-gnueabihf
* SDK: bump library versionsJohn-Mark Bell2023-03-051-6/+6
|
* SDK: bump OpenSSL to 3.0.8John-Mark Bell2023-03-051-1/+1
|
* libexpat/m68k-unknown-amigaos: explicit -lgccJohn-Mark Bell2022-11-031-1/+4
| | | | | | For whatever reason (and this really should not be necessary), linking will fail without doing this as libgcc gets evaluated by ld after libm, and thus cannot resolve the symbols it needs.
* libexpat/m68k-unknown-amigaos: patch out strtoullJohn-Mark Bell2022-11-031-2/+5
| | | | | | | For whatever reason the libc in the toolchain does not provide this (despite there being an implementation available). This results in the xmlwf too failing to link. Work around this by replacing strtoull with strtoul.
* m68k-unknown-amigaos: use OpenSSL in lieu of a modern AmiSSLJohn-Mark Bell2022-11-031-5/+14
| | | | Rework the logic here so it's less hard to switch between them.
* m68k-unknown-amigaos: define RLIMIT_NOFILE for iconvJohn-Mark Bell2022-11-031-1/+1
| | | | | This is unlikely to be the correct answer here, however (as who knows if getrlimit() actually works on this platform)
* SDK: bump library versionsJohn-Mark Bell2022-11-011-6/+6
|
* SDK: bump OpenSSL to 3.0.7John-Mark Bell2022-11-011-1/+1
|
* Upgrade to OpenSSL 3John-Mark Bell2022-05-271-1/+1
|
* SDK: Update libjpeg-turbo.Michael Drake2022-05-271-5/+20
| | | | Requires CMake.
* libwebp: upgrade to 1.2.2John-Mark Bell2022-05-271-2/+1
|
* Update build rules for curl 7.83.1John-Mark Bell2022-05-271-2/+2
|
* Bump SDK component versions; use HTTPSJohn-Mark Bell2022-05-271-25/+29
|
* update curl version in sdkVincent Sanders2021-04-211-1/+1
|
* Ensure IPv6 disabled on Amiga platformsChris Young2020-03-061-2/+2
|
* SDK: Update libcurl to 7.68.0Daniel Silverstone2020-02-211-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* SDK: Update iconv to 1.16Daniel Silverstone2020-02-211-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Roll back config.sub on some atari builds so that freetype buildsDaniel Silverstone2019-11-301-0/+3
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Freetype needs to come via gz these daysDaniel Silverstone2019-11-301-4/+4
|
* Various updates to SDK depsDaniel Silverstone2019-11-301-4/+4
|
* Add libwebp to arm-unknown-riscos and i686-w64-mingw32 targetsCameron Cawley2019-11-301-2/+23
|
* update SDK upstream library versionsVincent Sanders2019-06-281-7/+21
|
* updated curl requires a later version of cares to buildVincent Sanders2019-04-071-1/+1
|
* Need Curl 7.64.1 for AmiSSLChris Young2019-04-071-1/+1
|
* Build libcurl against AmiSSL for m68k-unknown-amigaos targetVincent Sanders2019-04-071-2/+2
|
* Don't build OpenSSL for m68k-amigaosVincent Sanders2019-04-071-0/+2
| | | | | | | | skip the build but mark the build step as complete because Curl needs it. Issues: Curl won't see AmiSSL as the includes alone are not enough to trick it. Creating dummy libssl.a libcrypto.a nearly works but still chokes as the test programs don't include anything so the AmiSSL inlines don't get opened. Solution might be to build a dummy libssl.a which redirects the needed functions. There's an issue with amissl/inline.h with the latest includes (hack #define it so it doesn't try - may cause other problems later but this is not where the troublesome SSL_connect() is defined)
* Install the Roadshow SDK into netincludeChris Young2019-04-071-1/+15
| | | | | | | This is a modified copy of the SDK, partly because the official download is buried behind a form and can't be downloaded directly: netinclude/inline/* are the corrected ones netinclude/errno.h has been removed source_code has been removed
* fix m68k amiga openssl patchesVincent Sanders2019-02-151-7/+10
|
* update sdk some library versionsVincent Sanders2019-02-131-3/+3
|
* update for new openssl and libjpeg-turboVincent Sanders2018-01-261-2/+2
|
* update libcurl to address CVEVincent Sanders2018-01-251-1/+1
|
* enable ssl usage in libcurl for windowsVincent Sanders2017-11-241-1/+1
|
* enable CAPI in windows buildVincent Sanders2017-11-241-1/+1
|
* update openssl to 1.1.0fVincent Sanders2017-10-171-1/+1
|
* Revert "Set an OpenSSL environment path"John-Mark Bell2017-07-071-1/+0
| | | | This reverts commit c113b768e24439447e0306011ca2743606f227f9.
* SDK: update libcares, libcurl, expat, and libpngJohn-Mark Bell2017-07-071-4/+4
|