Hi Chris,
Ugh. Ideally, we'd keep moving forward here -- I don't really want to have to deal with different platforms using different versions of the SDK components (not least, keeping them in sync across everything means we can ensure that security updates get applied everywhere).
Is it possible to bisect curl releases between 8.11.0 and 8.17.0 to see where it stops working? (the diff between those two versions is nearly 500k lines, so if we can narrow down the search it might be easier to find the problem). I did have to refresh the context of the trivial patch we carry for the m68k-unknown-amigaos build of curl, but I believe it's still applying the same change as before.
I'm also assuming that, when you reverted to 8.11.0, it was rebuilt with the updated toolchain and not just an old binary build you had lying around? If not, is it possible to respin 8.11.0 with the new toolchain and see if it still works?
J.
Me again :)
The m68k-unknown-amigaos toolchain doesn't currently build a working NetSurf.
From investigation it looks like the new version of libcurl doesn't work correctly. I've reverted back to the old one (8.11.0) and built a working NetSurf with that.
My suspicion is that somewhere libcurl is mixing clib2 and bsdsocket calls. I've been playing with it but can't figure out where this is happening. Nothing obvious has changed that I can see. It isn't affecting the OS4 build which also builds against AmiSSL/bsdsocket. I'll keep looking but at the moment the AmigaOS 3 builds are unuseable. I'm not sure if it is feasible to revert just OS3 back to the old version of libcurl for now?
Chris
On 10/12/2025 21:35, NetSurf Browser Project wrote:
Gitweb links: ...log http://git.netsurf-browser.org/toolchains.git/shortlog/a9bd845b42de610892510ef0e5e8fbf682908c12 ...commit http://git.netsurf-browser.org/toolchains.git/commit/a9bd845b42de610892510ef0e5e8fbf682908c12 ...tree http://git.netsurf-browser.org/toolchains.git/tree/a9bd845b42de610892510ef0e5e8fbf682908c12 The branch, master has been updated via a9bd845b42de610892510ef0e5e8fbf682908c12 (commit) via 7762c4aea0183a55119e4235cfb74d91a18a4c26 (commit) via 871a358dda5ef454c80503636f88f0cbb5d76c87 (commit) via 655f89e230aa0b4e13dd96e085745d23aef0f9c2 (commit) via 03d4f5296ba718f980693a095aff8a75a8ff4545 (commit) via 8fdfa61ff3c4e79a34f708acf426da5a8b73fa93 (commit) via 028ba1adc3e25b93047471eeaa308248e6280ef4 (commit) via 14b2d5794d02d1fda6a1de0fbeda5e32f5b2db9c (commit) via 82b2e9ca070c7d2379f542600b6ffd1b1c38ead8 (commit) via 507dab60b3aa9da2ce62085dbcf7f057344ee1ca (commit) via 88597241b07cf802e81c0df7677619d642c20ef5 (commit) via 69703dbc8674dc302e93e019b5b64e6755d9dfbc (commit) via 59ca72f14a12116102bd0811450c2ee965af5d9e (commit) via 59c51edbe79261b0b882a3db293684ac93ee90f2 (commit) via 0bfcc8b458041cee9d2e1a3f549d6bc530d4ecdf (commit) via df5319eda584972ba58f0c56be5cb1af958d5825 (commit) via c0da704f7b1def334c8f31780d4b05b3c92f5759 (commit) via fd6cb74ad4f0fcf9a21a555cec3ce842f29a4b3a (commit) via 87a910d523b5e72516ae059564cb93126be55ada (commit) via a5187886ae92325c9859ac5efaefae0d851137b4 (commit) via 0ed58efcbe99982c34cd31623fbd3c49499b998d (commit) via 6cfb90abc9798bf4c6b29a30b0f58291cfaaf1b9 (commit) via 7e09c0d16f371bd95d982243a75612a855e83fb3 (commit) via 841d3230a29004935514443aa831f24e594ca57c (commit) via 2bffa4dc4e5bcc57e1fd996567dee292b40a1889 (commit) via 78390cc946b54c1e4b79fb0d6ff12638f1b3de40 (commit) via ef68cf359a86eba0bd0f25f7e932336bf9b356c7 (commit) via a693ff8bd3a583249a2bf7cdab242e9d1f93a967 (commit) via 26bda2c9f7ca2545033a2ad02525d36a31ddfbe9 (commit) via d163f05d3016c0b1f80e8d6bfa54721a377b5cb4 (commit) via aacf45f23cd2b342f4485203c7c0388f8694995c (commit) via 14bf32ae22f89feaf61fc1754d8bd76840766c6c (commit) via c5bb503798f78d01bd57646d4653a7bb4f8ab737 (commit) via 67be9be64633d288b8277a74c29f420f4ab06358 (commit) via 48a3e725c5c66820f0d8aeb41664a35bb57bfe00 (commit) via 1e73a8f182915533fdf2b2f2689f7f727959f02d (commit) via df2832a44e38a27c24742902dd4528f90348b00f (commit) via 29c2f425e674899775f9746f05774a2240f07bb8 (commit) via 16ab97cb2401262050b58611e8d29d2d8a9945ee (commit) via 8035c697829cbf54576a386822fa05c66d582add (commit) via 14c3e1a8bb0b6d2f6996b3a12c65d58282b93843 (commit) via e9c2ecb0d92f42eb1abd52663da4b136f933efa5 (commit) via 90dbbfa508402ede50d3866f981eda27716901e7 (commit) from 28fe69c345efdbfe42e298f842c908fa0191e118 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commitdiff http://git.netsurf-browser.org/toolchains.git/commit/?id=a9bd845b42de610892510ef0e5e8fbf682908c12 commit a9bd845b42de610892510ef0e5e8fbf682908c12 Author: John-Mark Bell <jmb@netsurf-browser.org> Commit: John-Mark Bell <jmb@netsurf-browser.org> SDK/arm-unknown-riscos: add brotli This target requires building with PIC disabled (as, otherwise, -fPIC results in symbols being resolved through the GOT, which is never populated and we dereference NULL with inevitable effect) diff --git a/sdk/Makefile b/sdk/Makefile index d83ccc3..ba6ab7b 100644 --- a/sdk/Makefile +++ b/sdk/Makefile @@ -206,8 +206,10 @@ ifeq ($(TARGET),arm-riscos-gnueabi) endif ifeq ($(TARGET),arm-unknown-riscos) - SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, $(COMMON_SDK_ITEMS) libjpeg-turbo.d libwebp.d) + SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, libbrotli.d $(COMMON_SDK_ITEMS) libjpeg-turbo.d libwebp.d) + LIBBROTLI_ENV := CFLAGS="-std=c99" EXTRAARGS_LIBCARES := --disable-shared 'ac_cv_have_decl_getservbyport_r=no' + LIBCURL_ENV := LIBS="-lbrotlidec -lbrotlicommon" EXTRAARGS_LIBCURL := --enable-nonblocking --enable-ares --with-random="/dev/urandom" $(LIBCURL_DISABLES) # Disable the expat testsuite as it requires C++11, which GCC4.7 does not support EXTRAARGS_LIBEXPAT := --with-tests=no diff --git a/sdk/recipes/patches/brotli/arm-unknown-riscos/no-pic.p b/sdk/recipes/patches/brotli/arm-unknown-riscos/no-pic.p new file mode 100644 index 0000000..cca9adc --- /dev/null +++ b/sdk/recipes/patches/brotli/arm-unknown-riscos/no-pic.p @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig ++++ CMakeLists.txt +@@ -157,7 +157,7 @@ + VERSION "${BROTLI_ABI_COMPATIBILITY}.${BROTLI_ABI_AGE}.${BROTLI_ABI_REVISION}" + SOVERSION "${BROTLI_ABI_COMPATIBILITY}") + if (NOT BROTLI_EMSCRIPTEN) +- set_target_properties(${lib} PROPERTIES POSITION_INDEPENDENT_CODE TRUE) ++ set_target_properties(${lib} PROPERTIES POSITION_INDEPENDENT_CODE FALSE) + endif() + set_property(TARGET ${lib} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$<BUILD_INTERFACE:${BROTLI_INCLUDE_DIRS}>") + endforeach() # BROTLI_xxx_LIBRARIES ----------------------------------------------------------------------- Summary of changes: arm-riscos-gnueabi/recipes/files/gccsdk/Makefile | 2 +- .../recipes/patches/gccsdk/binutils-bfd-in.h.p | 34 +++++ .../patches/infozip/12-fix-build-with-gcc-14.p | 56 +++++++ arm-unknown-riscos/Makefile | 1 - .../recipes/files/gcc4/cp_cfns_gperf.p | 17 --- arm-unknown-riscos/recipes/files/gcc4/cp_cfns_h.p | 17 --- arm-unknown-riscos/recipes/files/gcc4/gcc_texi.p | 20 --- .../patches/gcc4/gcc.doc.sourcebuild.texi.p | 14 ++ .../recipes/patches/gcc4/gmp-gcc14.p | 32 ++++ .../recipes/patches/gcc4/posix-memalign.p | 39 +++++ .../patches/infozip/12-fix-build-with-gcc-14.p | 56 +++++++ .../recipes/patches/gcc/autoconf-version.p | 107 ++++++++++++++ .../recipes/patches/gcc/gmp-configure.p | 66 ++++++++- .../recipes/patches/gcc/autoconf-version.p | 107 ++++++++++++++ .../recipes/patches/gcc/gmp-configure.p | 62 +++++++- m68k-unknown-amigaos/Makefile | 7 +- ppc-amigaos/Makefile | 4 +- ...xtend.texi_replace_itemx_not_preceded_by_item.p | 28 ++++ .../recipes/patches/gcc/9999-autoconf-version.p | 99 +++++++++++++ sdk/Makefile | 164 +++++++++++++-------- .../patches/brotli/arm-unknown-riscos/no-pic.p | 11 ++ .../patches/libcares/m5475-atari-mint/config.sub.p | 4 +- .../libcares/m68k-unknown-amigaos/ipv6-support.p | 4 +- .../patches/libcares/ppc-amigaos/ipv6-support.p | 4 +- .../patches/libcares/ppc-amigaos/string-fix.p | 3 +- .../m68k-unknown-amigaos/lib.curl_setup.h.p | 4 +- .../patches/libcurl/ppc-amigaos/lib.curl_setup.h.p | 2 +- .../m5475-atari-mint/build-aux.config.sub.p | 17 +-- .../libcharset.build-aux.config.sub.p | 17 +-- .../m68k-unknown-amigaos/srclib.getprogname.c.p | 2 +- .../m68k-unknown-amigaos/srclib.signal.in.h.p | 14 +- .../m68k-unknown-amigaos/srclib.time.in.h.p | 2 +- .../m68k-unknown-amigaos/srclib.unistd.in.h.p | 10 +- .../libiconv/ppc-amigaos/srclib.getprogname.c.p | 2 +- .../libiconv/ppc-amigaos/srclib.signal.in.h.p | 14 +- .../patches/libpng/m5475-atari-mint/config.sub.p | 17 +-- sdk/recipes/patches/libwebp/configure.ac.p | 11 -- sdk/recipes/patches/libwebp/configure.p | 11 -- sdk/recipes/patches/openssl/Configure.p | 2 +- sdk/recipes/patches/openssl/apps.speed.c.p | 4 +- sdk/recipes/patches/openssl/crypto.arm_arch.h.p | 2 +- .../patches/openssl/crypto.bio.bio_local.h.p | 11 -- .../patches/openssl/crypto.pkcs7.bio_pk7.c.p | 15 -- .../patches/openssl/crypto.rand.rand_unix.c.p | 2 +- sdk/recipes/patches/openssl/e_os.h.p | 6 +- .../openssl/m5475-atari-mint/apps.lib.s_socket.c.p | 2 +- .../m5475-atari-mint/include.internal.sockets.h.p | 6 +- .../m5475-atari-mint/include.openssl.e_os2.h.p | 3 +- .../openssl/m68k-atari-mint/apps.lib.s_socket.c.p | 2 +- .../openssl/m68k-atari-mint/crypto.bn.bn_div.c.p | 2 +- .../m68k-atari-mint/include.internal.sockets.h.p | 6 +- .../m68k-atari-mint/include.openssl.e_os2.h.p | 3 +- .../openssl/m68k-unknown-amigaos/apps.apps.c.p | 2 +- .../apps.include.http_server.h.p | 2 +- .../m68k-unknown-amigaos/crypto.bio.b_sock2.c.p | 18 +-- ...ders.implementations.rands.seeding.build.info.p | 6 +- sdk/recipes/patches/openssl/newlib-no-strtoiumax.p | 2 +- .../ppc-amigaos/apps.include.http_server.h.p | 2 +- .../openssl/ppc-amigaos/atomics-are-broken.p | 12 +- .../openssl/ppc-amigaos/crypto.bio_b_addr.c.p | 10 +- .../patches/openssl/ppc-amigaos/crypto.ppccap.c.p | 2 +- ...ders.implementations.rands.seeding.build.info.p | 6 +- sdk/recipes/patches/openssl/test.drbgtest.c.p | 4 +- .../Configurations-10-main.conf.p | 11 ++ 64 files changed, 941 insertions(+), 283 deletions(-) create mode 100644 arm-riscos-gnueabi/recipes/patches/gccsdk/binutils-bfd-in.h.p create mode 100644 arm-riscos-gnueabi/recipes/patches/infozip/12-fix-build-with-gcc-14.p delete mode 100644 arm-unknown-riscos/recipes/files/gcc4/cp_cfns_gperf.p delete mode 100644 arm-unknown-riscos/recipes/files/gcc4/cp_cfns_h.p delete mode 100644 arm-unknown-riscos/recipes/files/gcc4/gcc_texi.p create mode 100644 arm-unknown-riscos/recipes/patches/gcc4/gcc.doc.sourcebuild.texi.p create mode 100644 arm-unknown-riscos/recipes/patches/gcc4/gmp-gcc14.p create mode 100644 arm-unknown-riscos/recipes/patches/gcc4/posix-memalign.p create mode 100644 arm-unknown-riscos/recipes/patches/infozip/12-fix-build-with-gcc-14.p create mode 100644 m5475-atari-mint/recipes/patches/gcc/autoconf-version.p create mode 100644 m68k-atari-mint/recipes/patches/gcc/autoconf-version.p create mode 100644 ppc-amigaos/recipes/patches/gcc/9998-extend.texi_replace_itemx_not_preceded_by_item.p create mode 100644 ppc-amigaos/recipes/patches/gcc/9999-autoconf-version.p create mode 100644 sdk/recipes/patches/brotli/arm-unknown-riscos/no-pic.p delete mode 100644 sdk/recipes/patches/libwebp/configure.ac.p delete mode 100644 sdk/recipes/patches/libwebp/configure.p delete mode 100644 sdk/recipes/patches/openssl/crypto.bio.bio_local.h.p delete mode 100644 sdk/recipes/patches/openssl/crypto.pkcs7.bio_pk7.c.p create mode 100644 sdk/recipes/patches/openssl/x86_64-w64-mingw32/Configurations-10-main.conf.p diff --git a/arm-riscos-gnueabi/recipes/files/gccsdk/Makefile b/arm-riscos-gnueabi/recipes/files/gccsdk/Makefile index 01b4cbd..0586752 100644 --- a/arm-riscos-gnueabi/recipes/files/gccsdk/Makefile +++ b/arm-riscos-gnueabi/recipes/files/gccsdk/Makefile @@ -75,7 +75,7 @@ GCC_CONFIG_ARGS += --with-pkgversion='GCCSDK GCC $(GCC_VERSION) Release $(GCCSDK --with-bugurl=http://gccsdk.riscos.info/ BINUTILS_CONFIG_ARGS += --with-pkgversion='GCCSDK GCC $(GCC_VERSION) Release $(GCCSDK_GCC_RISCOS_RELEASE)' \ --with-bugurl=http://gccsdk.riscos.info/ -BINUTILS_CONFIG_ARGS += --disable-werror --with-gcc --enable-interwork --disable-nls #--enable-maintainer-mode +BINUTILS_CONFIG_ARGS += --enable-maintainer-mode --disable-werror --with-gcc --enable-interwork --disable-nls # --disable-werror is added because --enable-maintainer-mode turns all warnings into errors and # the gcc build is not 100% warning free. # However, this does not help for libstdc++ builds when newlib is used, cfr http://gcc.gnu.org/PR47058. diff --git a/arm-riscos-gnueabi/recipes/patches/gccsdk/binutils-bfd-in.h.p b/arm-riscos-gnueabi/recipes/patches/gccsdk/binutils-bfd-in.h.p new file mode 100644 index 0000000..fad5389 --- /dev/null +++ b/arm-riscos-gnueabi/recipes/patches/gccsdk/binutils-bfd-in.h.p @@ -0,0 +1,34 @@ +--- gcc/bfd.bfd-in.h.pp.orig ++++ gcc/bfd.bfd-in.h.pp +@@ -1,16 +1,14 @@ + --- bfd/bfd-in.h.orig 2018-01-13 13:31:15.000000000 +0000 + +++ bfd/bfd-in.h 2019-01-17 22:13:33.544924940 +0000 +-@@ -918,6 +918,9 @@ ++@@ -918,6 +918,7 @@ + int merge_exidx_entries; + int cmse_implib; + bfd *in_implib_bfd; +-+#ifdef __RISCOS_TARGET__ + + int riscos_module; +-+
No comments:
Post a Comment