head 1.2; access; symbols pkgsrc-2026Q1:1.1.0.86 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.84 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.82 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.80 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.78 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.76 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.74 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.72 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.70 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.68 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.66 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.64 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.62 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.60 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.58 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.56 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.54 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.52 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.50 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.48 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.46 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.44 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.42 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.38 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.18 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.40 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.36 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.34 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.32 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.30 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.28 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.26 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.24 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.22 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.20 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.16 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.14 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.12 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.10 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.8 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.6 pkgsrc-2016Q1-base:1.1 pkgsrc-2015Q4:1.1.0.4 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.2 pkgsrc-2015Q3-base:1.1; locks; strict; comment @ * @; 1.2 date 2026.05.10.17.38.14; author vins; state dead; branches; next 1.1; commitid cDdKSm8gj8lJeiFG; 1.1 date 2015.08.13.08.57.08; author martin; state Exp; branches; next ; commitid rGCRiKll2j4ss5xy; desc @@ 1.2 log @sysutils/gvfs: Update to gvfs-1.60.0 Update prepared in wip by PHO, with some later contributions by me. The change log is too long to paste here. See: https://gitlab.gnome.org/GNOME/gvfs/-/blob/master/NEWS @ text @$NetBSD: patch-metadata_metatree.c,v 1.1 2015/08/13 08:57:08 martin Exp $ Upstream commit https://git.gnome.org/browse/gvfs/commit/?id=d17e4dbfef0b9859b7d8a149b931cf685f9b4e15 to fix unaligned access in the meta data journal --- metadata/metatree.c.orig 2011-03-21 16:42:27.000000000 +0100 +++ metadata/metatree.c 2015-08-13 10:31:10.000000000 +0200 @@@@ -170,6 +170,28 @@@@ struct _MetaTree { MetaJournal *journal; }; +/* Unfortunately the journal entries are only aligned to 32 bit boundaries + * but on some 64-bit RISC architectures (e.g. Alpha) this is insufficient + * to guarantee correct alignment of 64-bit accesses. This is not a show + * stopper but does cause inefficient traps to the kernel and pollution of + * kernel logs. Rather than fix the alignment we provide a helper function, + * dependent on features specific to gcc, to correctly access a 64-bit datum + * that may be misaligned. + * + * See https://bugzilla.gnome.org/show_bug.cgi?id=726456 + */ +#if defined(__GNUC__) && (defined(__alpha__) || defined(__mips__) || defined(__sparc__)) +struct una_u64 { guint64 x __attribute__((packed)); }; +static inline guint64 ldq_u(guint64 *p) +{ + const struct una_u64 *ptr = (const struct una_u64 *) p; + return ptr->x; +} +#else +#define ldq_u(x) (*(x)) +#endif + + static void meta_tree_refresh_locked (MetaTree *tree); static MetaJournal *meta_journal_open (MetaTree *tree, const char *filename, @@@@ -1303,7 +1325,7 @@@@ meta_journal_iterate (MetaJournal *journ sizep = (guint32 *)entry; entry = (MetaJournalEntry *)((char *)entry - GUINT32_FROM_BE (*(sizep-1))); - mtime = GUINT64_FROM_BE (entry->mtime); + mtime = GUINT64_FROM_BE (ldq_u (&entry->mtime)); journal_path = &entry->path[0]; if (journal_entry_is_key_type (entry) && @@@@ -2287,7 +2309,7 @@@@ apply_journal_to_builder (MetaTree *tree entry = journal->first_entry; while (entry < journal->last_entry) { - mtime = GUINT64_FROM_BE (entry->mtime); + mtime = GUINT64_FROM_BE (ldq_u (&(entry->mtime))); journal_path = &entry->path[0]; switch (entry->entry_type) @ 1.1 log @Bring in a patch from upstream to fix unaligned access in the metadata journal @ text @d1 1 a1 1 $NetBSD$ @