diff --git a/inline.patch b/inline.patch new file mode 100644 index 0000000..c8b9fe9 --- /dev/null +++ b/inline.patch @@ -0,0 +1,12 @@ +diff -Nrup a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c +--- a/squashfs-tools/mksquashfs.c 2019-12-17 11:18:23.336924170 -0700 ++++ b/squashfs-tools/mksquashfs.c 2019-12-17 11:16:56.184159640 -0700 +@@ -3030,7 +3030,7 @@ inline void alloc_inode_no(struct inode_ + } + + +-inline struct dir_ent *create_dir_entry(char *name, char *source_name, ++static inline struct dir_ent *create_dir_entry(char *name, char *source_name, + char *nonstandard_pathname, struct dir_info *dir) + { + struct dir_ent *dir_ent = malloc(sizeof(struct dir_ent)); diff --git a/squashfs-tools.spec b/squashfs-tools.spec index cd9c675..2688387 100644 --- a/squashfs-tools.spec +++ b/squashfs-tools.spec @@ -1,7 +1,7 @@ Summary: Utility for the creation of squashfs filesystems Name: squashfs-tools Version: 4.3 -Release: 22%{?dist} +Release: 23%{?dist} License: GPLv2+ URL: http://squashfs.sourceforge.net/ Source0: http://downloads.sourceforge.net/squashfs/squashfs%{version}.tar.gz @@ -28,6 +28,9 @@ Patch4: local-cve-fix.patch Patch5: glibc.patch # zstd compression support from https://github.com/plougher/squashfs-tools Patch6: 0001-squashfs-tools-Add-zstd-support.patch +# create_dir_entry needs a qualifier to ensure a copy is emitted if it +# is not inlined to every caller +Patch7: inline.patch BuildRequires: gcc BuildRequires: zlib-devel @@ -50,6 +53,7 @@ contains the utilities for manipulating squashfs filesystems. %patch4 -p0 %patch5 -p0 %patch6 -p1 +%patch7 -p1 %build %set_build_flags @@ -73,6 +77,10 @@ install -m 644 %{SOURCE2} %{buildroot}%{_mandir}/man1/unsquashfs.1 %{_sbindir}/unsquashfs %changelog +* Fri Jan 17 2020 Jeff Law - 4.3-23 +- Fix undefined symbol when building with LTO due to incorrect + use of inline function + * Sat Jul 27 2019 Fedora Release Engineering - 4.3-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild