mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[PR #4373] [MERGED] gcov: fix build failure with gcc 11.1.0 #5136
Labels
No labels
LTS merge
LTS merge
bug
bug
converted-to-discussion
doc-todo
documentation
duplicate
enhancement
file-transfer
firecfg
firejail-in-firejail
firetools
graphics
help wanted
information_old
installation
invalid
modif
moved
needinfo
networking
notabug
notourbug
old-version
overlayfs
packaging
profile-request
pull-request
question
question_old
removal
runtime-permissions
sandbox-ipc
security
stale
wiki
wiki
wontfix
wordpress
workaround
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/firejail#5136
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/netblue30/firejail/pull/4373
Author: @kmk3
Created: 6/25/2021
Status: ✅ Merged
Merged: 6/27/2021
Merged by: @netblue30
Base:
master← Head:gcov-fix-build-gcc11📝 Commits (1)
b408b20gcov: fix build failure with gcc 11.1.0📊 Changes
15 files changed (+54 additions, -14 deletions)
View changed files
📝
src/firejail/appimage.c(+1 -1)📝
src/firejail/chroot.c(+1 -1)📝
src/firejail/fs.c(+1 -1)📝
src/firejail/fs_mkdir.c(+1 -1)📝
src/firejail/ls.c(+1 -1)📝
src/firejail/main.c(+1 -1)📝
src/firejail/profile.c(+1 -1)📝
src/firejail/rlimit.c(+1 -1)📝
src/firejail/sandbox.c(+1 -1)📝
src/firejail/util.c(+1 -1)📝
src/firemon/interface.c(+1 -1)📝
src/firemon/netstats.c(+1 -1)📝
src/firemon/procevent.c(+1 -1)📝
src/firemon/top.c(+1 -1)➕
src/include/gcov_wrapper.h(+40 -0)📄 Description
The build currently fails if gcov support is enabled:
This happens because __gcov_flush was removed on gcc 11.1.0[1] [2] [3].
See the following gcc commits:
Its implementation did the following[4]:
As hinted in the commit messages above, the function is no longer needed
because locking is now done inside each of __gcov_dump and __gcov_reset.
So add an implementation of __gcov_flush (on a new gcov_wrapper.h file)
for gcc >= 11.1.0, which just calls __gcov_dump and then __gcov_reset.
Commands used to search and replace:
Note: This is the continuation of commit
31557e9c7("gcov: add missinggcov.h includes") / PR #4360.
[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d39f7dc8d558ca31a661b02d08ff090ce65e6652
[2] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=c0532db47d092430f8e8f497b2dc53343527bb13
[3] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=811b7636cb8c10f1a550a76242b5666c7ae36da2
[4] https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libgcc/libgcov-interface.c;h=855e8612018d1c9caf90396a3271337aaefdb9b3#l86
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.