Merge pull request #2706 from MehdiChinoune/pacman-lto-static
pacman: Fix LTO-ing staticlibs
This commit is contained in:
commit
b68cff56c8
29
pacman/0021-fix-lto-staticlibs.patch
Normal file
29
pacman/0021-fix-lto-staticlibs.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From f578b472aa42851f8a142de20cd8c70664c60248 Mon Sep 17 00:00:00 2001
|
||||
From: Mehdi Chinoune <mehdi.chinoune@hotmail.com>
|
||||
Date: Sat, 13 Nov 2021 08:27:49 +0100
|
||||
Subject: [PATCH] Fix building staticlibs with LTO
|
||||
|
||||
Unless `-ffat-lto-objects` get passed to the compiler, It will only generate LTO bytecode.
|
||||
|
||||
see:
|
||||
https://wiki.ubuntu.com/ToolChain/LTO : Implementation
|
||||
https://fedoraproject.org/wiki/Changes/LTOBuildImprovements
|
||||
---
|
||||
scripts/libmakepkg/buildenv/lto.sh.in | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/scripts/libmakepkg/buildenv/lto.sh.in b/scripts/libmakepkg/buildenv/lto.sh.in
|
||||
index 8e7be66a5..c216a24fa 100644
|
||||
--- a/scripts/libmakepkg/buildenv/lto.sh.in
|
||||
+++ b/scripts/libmakepkg/buildenv/lto.sh.in
|
||||
@@ -33,5 +33,10 @@ buildenv_lto() {
|
||||
if check_option "lto" "y"; then
|
||||
CFLAGS+=" -flto"
|
||||
CXXFLAGS+=" -flto"
|
||||
+ LDFLAGS+=" -flto"
|
||||
+ if check_option "staticlibs" "y"; then
|
||||
+ CFLAGS+=" -ffat-lto-objects"
|
||||
+ CXXFLAGS+=" -ffat-lto-objects"
|
||||
+ fi
|
||||
fi
|
||||
}
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
pkgname=pacman
|
||||
pkgver=6.0.1
|
||||
pkgrel=6
|
||||
pkgrel=7
|
||||
pkgdesc="A library-based package manager with dependency support (MSYS2 port)"
|
||||
arch=('i686' 'x86_64')
|
||||
url="https://www.archlinux.org/pacman/"
|
||||
@ -61,7 +61,8 @@ source=(pacman-${pkgver}::git+https://gitlab.archlinux.org/pacman/pacman.git#com
|
||||
0017-Export-CC-and-CXX-variables-explicitly.patch
|
||||
0018-pacman.c-handle-cr-on-stdin-as-well.patch
|
||||
0019-Add-a-CI-job.patch
|
||||
0020-Strip-static-libraries-as-well.patch)
|
||||
0020-Strip-static-libraries-as-well.patch
|
||||
0021-fix-lto-staticlibs.patch)
|
||||
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org>
|
||||
'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org>
|
||||
sha256sums=('SKIP'
|
||||
@ -88,7 +89,8 @@ sha256sums=('SKIP'
|
||||
'5029415842e9c51dd8aa6e380636316cf3f8f2b3ef0ae3f9430658213cb56a2a'
|
||||
'0ac2184c8419041f2948517a1c8b66ed740cf0bb1ac5856b384008495317e87b'
|
||||
'17604e359cbc1666b678359a5f46b5f822ca0d3a62c6c672b74d45399d78ab5e'
|
||||
'7e1b6df6806a62e69ec072188bb5fdc6575d030e7ac140cee191d0fdf78454a5')
|
||||
'7e1b6df6806a62e69ec072188bb5fdc6575d030e7ac140cee191d0fdf78454a5'
|
||||
'45dadd786e1dd64fda7cff3efcf2f5e0b873b2a80b42a41a21448686b4db0fe6')
|
||||
|
||||
apply_git_am_with_msg() {
|
||||
for _patch in "$@"
|
||||
@ -124,7 +126,8 @@ prepare() {
|
||||
0017-Export-CC-and-CXX-variables-explicitly.patch \
|
||||
0018-pacman.c-handle-cr-on-stdin-as-well.patch \
|
||||
0019-Add-a-CI-job.patch \
|
||||
0020-Strip-static-libraries-as-well.patch
|
||||
0020-Strip-static-libraries-as-well.patch \
|
||||
0021-fix-lto-staticlibs.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user