Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. update regarding my librewolf openbsd port: everything i said earlier about mozilla's allocator is a load of bollocks.

update regarding my librewolf openbsd port: everything i said earlier about mozilla's allocator is a load of bollocks.

Scheduled Pinned Locked Moved Uncategorized
19 Posts 5 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • libreleah@mas.toL libreleah@mas.to

    No! It wasn't bollocks! Or maybe it was. Idk

    I re-did my port locally, only modifying www/mozilla-firefox in the least invasive way possible, without replacing/rewriting www/mozilla submodule.

    Still the same malloc-related build errors on LibreWolf - BUT FIREFOX BUILDS AND WORKS FINE.

    So now I'm analysing the code differences between LibreWolf 149.0.2 and FireFox 149.0.2 in unhinged detail. I now believe it may be a modification LibreWolf has done since v143, that breaks the build on OpenBSD.

    joel@gts.tumfatig.netJ This user is from outside of this forum
    joel@gts.tumfatig.netJ This user is from outside of this forum
    joel@gts.tumfatig.net
    wrote last edited by
    #7

    @libreleah FVIW 144 builds here. Things start to change with 145 - had an ˋnss` error, build has been restarted.

    1 Reply Last reply
    0
    • libreleah@mas.toL libreleah@mas.to

      I downloaded the src tarball of firefox 149.0.2 and did git init / git add -A . / git commit -m test, inside it.

      then i extracted librewolf 149.0.2 tarball and moved the .git from my firefox directory into it, and did: git add -A . , then git commit -m change

      now i have all the changes librewolf made, in bulk. i'm analysing those changes. i will find the smoking gun somewhere in this massive diff.

      there is librewolf source.git, with its own build system and patching. but i'll check tarballs.

      libreleah@mas.toL This user is from outside of this forum
      libreleah@mas.toL This user is from outside of this forum
      libreleah@mas.to
      wrote last edited by
      #8

      i may have found it

      +# allow replacing malloc manually, will not affect regular systems
      +# not compatible with ac_add_options --disable-jemalloc, which only works when preloading custom malloc
      +ac_add_options --enable-replace-malloc
      +ac_add_options --enable-jemalloc

      librewolf 149 enables these options, but 143 didn't. this is from lw/mozconfig.new, which doesn't exist in firefox.

      so earlier, i may have been correct, not wrong. gonna patch lw/mozconfig.new to remove this, and re-test building.

      libreleah@mas.toL 1 Reply Last reply
      0
      • libreleah@mas.toL libreleah@mas.to

        i may have found it

        +# allow replacing malloc manually, will not affect regular systems
        +# not compatible with ac_add_options --disable-jemalloc, which only works when preloading custom malloc
        +ac_add_options --enable-replace-malloc
        +ac_add_options --enable-jemalloc

        librewolf 149 enables these options, but 143 didn't. this is from lw/mozconfig.new, which doesn't exist in firefox.

        so earlier, i may have been correct, not wrong. gonna patch lw/mozconfig.new to remove this, and re-test building.

        libreleah@mas.toL This user is from outside of this forum
        libreleah@mas.toL This user is from outside of this forum
        libreleah@mas.to
        wrote last edited by
        #9

        in other words: I said it was bollocks, but it probably wasn't. there *is* an incompatibility with mozilla's custom allocator, on openbsd, but www/mozilla-firefox isn't using it. www/librewolf is! because librewolf is awesome, and cares about its linux users, so wants to give them a 0.5% performance increase. yes.

        yes.

        yes

        libreleah@mas.toL 1 Reply Last reply
        0
        • libreleah@mas.toL libreleah@mas.to

          in other words: I said it was bollocks, but it probably wasn't. there *is* an incompatibility with mozilla's custom allocator, on openbsd, but www/mozilla-firefox isn't using it. www/librewolf is! because librewolf is awesome, and cares about its linux users, so wants to give them a 0.5% performance increase. yes.

          yes.

          yes

          libreleah@mas.toL This user is from outside of this forum
          libreleah@mas.toL This user is from outside of this forum
          libreleah@mas.to
          wrote last edited by
          #10

          librewolf 143's lw/mozconfig.new doesn't have --enable-replace-malloc and --enable-jemalloc in it. but that same file *does* have these, in librewolf 149.

          libreleah@mas.toL 1 Reply Last reply
          0
          • libreleah@mas.toL libreleah@mas.to

            librewolf 143's lw/mozconfig.new doesn't have --enable-replace-malloc and --enable-jemalloc in it. but that same file *does* have these, in librewolf 149.

            libreleah@mas.toL This user is from outside of this forum
            libreleah@mas.toL This user is from outside of this forum
            libreleah@mas.to
            wrote last edited by
            #11

            ALSO FUN FACT:

            in that same file, lw/mozconfig.new, librewolf is enabling a bunch of hardening options that openbsd *also enables* on www/mozilla-firefox, but they seem to be entirely redundant on the openbsd port. i can remove most of the extra autoconf options in www/librewolf since librewolf is already applying them!

            yes

            libreleah@mas.toL 1 Reply Last reply
            0
            • libreleah@mas.toL libreleah@mas.to

              ALSO FUN FACT:

              in that same file, lw/mozconfig.new, librewolf is enabling a bunch of hardening options that openbsd *also enables* on www/mozilla-firefox, but they seem to be entirely redundant on the openbsd port. i can remove most of the extra autoconf options in www/librewolf since librewolf is already applying them!

              yes

              libreleah@mas.toL This user is from outside of this forum
              libreleah@mas.toL This user is from outside of this forum
              libreleah@mas.to
              wrote last edited by
              #12

              +ac_add_options --enable-application=browser
              +
              +ac_add_options --allow-addon-sideload
              +ac_add_options --disable-crashreporter
              +ac_add_options --disable-debug
              +ac_add_options --disable-default-browser-agent
              +ac_add_options --disable-tests
              +ac_add_options --disable-updater
              +ac_add_options --disable-cargo-incremental
              +ac_add_options --enable-hardening
              +ac_add_options --enable-stl-hardening
              +ac_add_options --enable-optimize
              +ac_add_options --enable-release
              +ac_add_options --enable-rust-simd

              libreleah@mas.toL 1 Reply Last reply
              0
              • libreleah@mas.toL libreleah@mas.to

                +ac_add_options --enable-application=browser
                +
                +ac_add_options --allow-addon-sideload
                +ac_add_options --disable-crashreporter
                +ac_add_options --disable-debug
                +ac_add_options --disable-default-browser-agent
                +ac_add_options --disable-tests
                +ac_add_options --disable-updater
                +ac_add_options --disable-cargo-incremental
                +ac_add_options --enable-hardening
                +ac_add_options --enable-stl-hardening
                +ac_add_options --enable-optimize
                +ac_add_options --enable-release
                +ac_add_options --enable-rust-simd

                libreleah@mas.toL This user is from outside of this forum
                libreleah@mas.toL This user is from outside of this forum
                libreleah@mas.to
                wrote last edited by
                #13

                but the actual place to patch is mozconfig (file) in the root of the extracted tarball directory

                i... couldn't find this in git grep earlier, because of .gitignore. so i found it manually. librewolf's build system was still adding the malloc-replace options. it should work now.

                this is literally the only problem with the librewolf port. needing to disable mozjemalloc. then it should work.

                libreleah@mas.toL 1 Reply Last reply
                0
                • libreleah@mas.toL libreleah@mas.to

                  but the actual place to patch is mozconfig (file) in the root of the extracted tarball directory

                  i... couldn't find this in git grep earlier, because of .gitignore. so i found it manually. librewolf's build system was still adding the malloc-replace options. it should work now.

                  this is literally the only problem with the librewolf port. needing to disable mozjemalloc. then it should work.

                  libreleah@mas.toL This user is from outside of this forum
                  libreleah@mas.toL This user is from outside of this forum
                  libreleah@mas.to
                  wrote last edited by
                  #14

                  FUN FACT: i hate mozilla.

                  libreleah@mas.toL 1 Reply Last reply
                  0
                  • libreleah@mas.toL libreleah@mas.to

                    FUN FACT: i hate mozilla.

                    libreleah@mas.toL This user is from outside of this forum
                    libreleah@mas.toL This user is from outside of this forum
                    libreleah@mas.to
                    wrote last edited by
                    #15

                    absolutely bird-brained build system. gnu autotools, plus mozilla = pain

                    i feel like the french guy in the matrix, when he just keeps saying "ass of shit, motherfucker, piece of shit" and so on, repeatedly, in french (that's what he's saying to neo when he says he loves the french language because of how cursing with it is like, and i quote, "rubbing your ass in silk")

                    Nom de Dieu de putain de bordel de merde de saloperie de connard d'enculé de ta mère, firefox.

                    yes.

                    libreleah@mas.toL 1 Reply Last reply
                    0
                    • libreleah@mas.toL libreleah@mas.to

                      absolutely bird-brained build system. gnu autotools, plus mozilla = pain

                      i feel like the french guy in the matrix, when he just keeps saying "ass of shit, motherfucker, piece of shit" and so on, repeatedly, in french (that's what he's saying to neo when he says he loves the french language because of how cursing with it is like, and i quote, "rubbing your ass in silk")

                      Nom de Dieu de putain de bordel de merde de saloperie de connard d'enculé de ta mère, firefox.

                      yes.

                      libreleah@mas.toL This user is from outside of this forum
                      libreleah@mas.toL This user is from outside of this forum
                      libreleah@mas.to
                      wrote last edited by
                      #16

                      Adding configure options from /home/leah/portdev/ports-pobj/librewolf-149.0.2/librewolf-149.0.2-2/mozconfig
                      --enable-application=browser
                      --allow-addon-sideload
                      --disable-crashreporter
                      --disable-debug
                      --disable-default-browser-agent
                      --disable-tests
                      --disable-updater
                      --disable-cargo-incremental
                      --enable-hardening
                      --enable-stl-hardening
                      --enable-optimize
                      --enable-release
                      --enable-rust-simd
                      --with-app-name=librewolf

                      ^ no --enable-replace-malloc or --enable-jemalloc

                      yay

                      libreleah@mas.toL 1 Reply Last reply
                      0
                      • libreleah@mas.toL libreleah@mas.to

                        Adding configure options from /home/leah/portdev/ports-pobj/librewolf-149.0.2/librewolf-149.0.2-2/mozconfig
                        --enable-application=browser
                        --allow-addon-sideload
                        --disable-crashreporter
                        --disable-debug
                        --disable-default-browser-agent
                        --disable-tests
                        --disable-updater
                        --disable-cargo-incremental
                        --enable-hardening
                        --enable-stl-hardening
                        --enable-optimize
                        --enable-release
                        --enable-rust-simd
                        --with-app-name=librewolf

                        ^ no --enable-replace-malloc or --enable-jemalloc

                        yay

                        libreleah@mas.toL This user is from outside of this forum
                        libreleah@mas.toL This user is from outside of this forum
                        libreleah@mas.to
                        wrote last edited by
                        #17

                        because librewofl uses a mozconfig, the cli-based configure options in www/mozilla-firefox are useless for librewolf.

                        but i can't just patch mozconfig, because variables like e.g. $PREFIX are used by openbsd ports.

                        what i have to do then: put a custom mozconfig is files/

                        have e.g. @PREFIX@ in there, and sed search/replace with the variable

                        do this in pre-configure, in the Makefile. that's my next job.

                        yes. i *will* tame this ungodly build system.

                        libreleah@mas.toL 1 Reply Last reply
                        0
                        • libreleah@mas.toL libreleah@mas.to

                          because librewofl uses a mozconfig, the cli-based configure options in www/mozilla-firefox are useless for librewolf.

                          but i can't just patch mozconfig, because variables like e.g. $PREFIX are used by openbsd ports.

                          what i have to do then: put a custom mozconfig is files/

                          have e.g. @PREFIX@ in there, and sed search/replace with the variable

                          do this in pre-configure, in the Makefile. that's my next job.

                          yes. i *will* tame this ungodly build system.

                          libreleah@mas.toL This user is from outside of this forum
                          libreleah@mas.toL This user is from outside of this forum
                          libreleah@mas.to
                          wrote last edited by
                          #18

                          there is a lot of overlap. openbsd's firefox port already adds a bunch of hardened autoconf (./configure) options, that librewolf also does. librewolf and openbsd are two peas in a pod.

                          it baffles me that nobody tried porting librewolf before i did. i mean, someone did, but i'm unsure if they sent it to openbsd. they simply maintained a package repo themselves, but stopped after obsd 7.1

                          i couldn't find their sources anymore, so i started from scratch, with my own fresh librewolf port.

                          simonzerafa@infosec.exchangeS 1 Reply Last reply
                          0
                          • libreleah@mas.toL libreleah@mas.to

                            there is a lot of overlap. openbsd's firefox port already adds a bunch of hardened autoconf (./configure) options, that librewolf also does. librewolf and openbsd are two peas in a pod.

                            it baffles me that nobody tried porting librewolf before i did. i mean, someone did, but i'm unsure if they sent it to openbsd. they simply maintained a package repo themselves, but stopped after obsd 7.1

                            i couldn't find their sources anymore, so i started from scratch, with my own fresh librewolf port.

                            simonzerafa@infosec.exchangeS This user is from outside of this forum
                            simonzerafa@infosec.exchangeS This user is from outside of this forum
                            simonzerafa@infosec.exchange
                            wrote last edited by
                            #19

                            @libreleah

                            Wow. Nice! 🙂🖖

                            I do need to try one of the BSD's one day.

                            Which one would be better for someone unfamiliar with this OS? 🙂

                            1 Reply Last reply
                            1
                            0
                            • R relay@relay.infosec.exchange shared this topic
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups