Wednesday, 17 December 2025

[netsurf-dev] Re: toolchains: branch master updated. a9bd845b42de610892510ef0e5e8fbf682908c12

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