On 2024/09/23 23:21, Theo Buehler wrote: > In addition to what sthen posted, I ran into these, the first one smells > like a noexeconly issue. Not sure about the second one (I modified kdump > to print the trap as hexadecimal since I got tired of translating > decimal to hex)
The files in ports/multimedia/dav1d/patches/* mostly don't have explanatory comments in the files, but commit log for many are "Fix arm64 assembly to be compatible with xonly" (plus there are a few missing AARCH64_VALID_JUMP_TARGET too). Attempting to apply those to the version in firefox there are a bunch of failures and porting them across will need knowledge of arm asm. Just starting a build with this to try. I _think_ it's the right place but not entirely sure. Performance is going to suck for things using dav1d but it's more appealing than a browser which requires USE_WXNEEDED. Index: Makefile =================================================================== RCS file: /cvs/ports/www/mozilla-firefox/Makefile,v diff -u -p -r1.603 Makefile --- Makefile 17 Sep 2024 12:55:40 -0000 1.603 +++ Makefile 23 Sep 2024 22:05:18 -0000 @@ -1,6 +1,8 @@ COMMENT = Firefox web browser ONLY_FOR_ARCHS = amd64 aarch64 riscv64 +REVISION = 0 + # Don't forget to bump www/firefox-i18n after updates. MOZILLA_VERSION = 130.0.1 Index: patches/patch-media_libdav1d_asm_moz_build =================================================================== RCS file: patches/patch-media_libdav1d_asm_moz_build diff -N patches/patch-media_libdav1d_asm_moz_build --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-media_libdav1d_asm_moz_build 23 Sep 2024 22:05:18 -0000 @@ -0,0 +1,15 @@ +disable asm in libdav1d on arm64; the vendored copy in mozilla is missings +patches to deal with xonly and BTI from the multimedia/dav1d port + +Index: media/libdav1d/asm/moz.build +--- media/libdav1d/asm/moz.build.orig ++++ media/libdav1d/asm/moz.build +@@ -159,7 +159,7 @@ if CONFIG['TARGET_CPU'] in ('x86', 'x86_64'): + entry_point='add_define', inputs=[relative_path + f], + flags=['BITDEPTH', '8']) + +-elif CONFIG['TARGET_CPU'] == 'arm' or CONFIG['TARGET_CPU'] == 'aarch64': ++elif CONFIG['TARGET_CPU'] == 'arm': + SOURCES += [ + '../../../third_party/dav1d/src/arm/cpu.c', + ]