Package Details: makepkg-optimize-mold 30-2

Git Clone URL: https://aur.archlinux.org/makepkg-optimize-mold.git (read-only, click to copy)
Package Base: makepkg-optimize-mold
Description: Supplemental build and packaging optimizations for makepkg
Upstream URL: https://wiki.archlinux.org/index.php/Makepkg-optimize
Keywords: makepkg-optimize makepkg-tweaks mold
Licenses: GPL-1.0-only
Submitter: ptr1337
Maintainer: ptr1337
Last Packager: ptr1337
Votes: 4
Popularity: 0.096821
First Submitted: 2021-12-31 21:48 (UTC)
Last Updated: 2024-08-24 12:42 (UTC)

Dependencies (11)

Required by (0)

Sources (26)

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

brikler commented on 2022-07-01 10:38 (UTC) (edited on 2022-07-03 07:51 (UTC) by brikler)

What do you think about the path: ~/.toolchain/llvm

thank you, i like it :)

perhaps jemalloc as optional dependence:

How to build

Be sure to have jemalloc installed, it is used to improve llvm-bolt's memory handling.

edit: to understand this https://github.com/ptr1337/llvm-bolt-scripts correct: after compilation with BUILDENV bolt and relocs, i must run this script with the option STAGE=1and compile again?

edit2: wrong path in your bolt-scripts: TOPLEV=~/toolchain/llvm

ptr1337 commented on 2022-06-30 20:08 (UTC)

So, bolt should be correctly used now.

ptr1337 commented on 2022-06-30 19:05 (UTC)

@brikler Actually all are correct. These are just the verison's of llvm which where used for building. Actually I would go for the llvm-bolt-14 one, since it is the latest stable version. The -15 version is basically a build from the latest git commit, so does not mean to be stable.

I will sort out the server a bit with the llvm-bolt versions, I did some testing since at kernel building I found some issues but got them sorted out

What you mean how you can verify it ? You mean if clang where optimized by bolt ? Actually I let all time the optimized binary as default in called "clang-14" for example, then the original binary which is called "clang-14.org" and also add the profile (fdata) which where used to optimize the binary. So you can compare for example the compile time of each binary and see the performance difference and also some scripts which are helping in the usage of llvm-bolt.

Take a watch here for more infos about llvm-bolt:

https://github.com/ptr1337/llvm-bolt-scripts

Because the path: I saw the the export PATH command did somehow not correctly work. So I will soon push a new commit which fixes that when enabling options=(bolt).

What do you think about the path: ~/.toolchain/llvm ?

Regards.

brikler commented on 2022-06-30 14:58 (UTC) (edited on 2022-06-30 18:02 (UTC) by brikler)

@ptr1337

1) there are 3 llvm-bolt packages: llvm-bolt.tar.zst, llvm-bolt-13.tar.zst, llvm-bolt-14.tar.zst, and llvm-bolt-15.tar.zstwhat is the correct one?

2) i would prefer ~/toolchain/llvm-bolt as a hidden folder, because ~/ looks cleaner :) but for now, i will follow you

edit how can i verify if he package is optimized, or not?

ptr1337 commented on 2022-06-25 21:36 (UTC)

@blackout

Just saw myself and its now fixed. Im sorry, next time I should run shellcheck before.

Fixed!

blackout commented on 2022-06-25 18:29 (UTC) (edited on 2022-06-25 18:29 (UTC) by blackout)

@ptr1337 Thanks for your efforts. Today's update gives me

/usr/share/makepkg/buildenv/mold.sh: line 18: syntax error near unexpected token `;'
/usr/share/makepkg/buildenv/mold.sh: line 18: `    check_buildoption "mold" "y"; then;'

ptr1337 commented on 2022-06-25 07:12 (UTC)

@brikler

Sorry for late response. I did updated the patches, if you want to usea bolted toolchain place it to: ~/toolchain/llvm-bolt

You can find here prebolted llvm toolchains:

https://mirror.cachyos.org/

Simply download and extract it to there.

@blackout

fixed.

brikler commented on 2022-06-22 19:56 (UTC) (edited on 2022-06-23 06:10 (UTC) by brikler)

hi,

is this export correct? i ask, because it's your ~/

buildenv_bolt() {
  if
  check_buildoption "bolt" "y"; then
  export PATH="/home/ptr1337/Documents/llvm/bin:$PATH"
  fi
}

to save for you i little time, if it is stored in~/Documents:

buildenv_bolt() {
  if
  check_buildoption "bolt" "y"; then
  export PATH="/home/$USER/Documents/llvm/bin:$PATH"
  fi
}

i don't know if this export necessary, but there should be a hint imo

blackout commented on 2022-06-17 06:36 (UTC)

hash check fails for ldflags.conf ... FAILED

ptr1337 commented on 2022-04-29 14:44 (UTC)

@Koppajin

No, actually if compiling something with GCC you would need to have GCC-12(-git) or need to patch gcc11 and also compile it on your own first. If you compile something with llvm, you can simply enable it with removing at option from "!mold" to "mold".

You can also use simply your old makepkg.conf, and add at options mold, then its also enabled.

Here you can take a watch at my makepkg.conf:

https://github.com/ptr1337/dotfiles/blob/master/config/makepkg.conf#L116=

If you need gcc-git, its precompiled in the repo's which I provide, their you can also find all core and extra packages precompiled in x86-64-v3.

https://wiki.cachyos.org/en/home/Repo