Adjust libsanitizer to ABI change in glibc 2.31.
Adapted to 3.x from this upstream commit:
https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1130,8 +1130,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
#ifndef __GLIBC_PREREQ
#define __GLIBC_PREREQ(x, y) 0
#endif
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
+ on many architectures. */
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
#endif
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -188,17 +188,16 @@ namespace __sanitizer {
unsigned __seq;
u64 __unused1;
u64 __unused2;
-#elif defined(__mips__) || defined(__aarch64__)
- unsigned int mode;
- unsigned short __seq;
- unsigned short __pad1;
- unsigned long __unused1;
- unsigned long __unused2;
+#elif defined(__sparc__)
+ unsigned mode;
+ unsigned short __pad2;
+ unsigned short __seq;
+ unsigned long long __unused1;
+ unsigned long long __unused2;
#else
- unsigned short mode;
- unsigned short __pad1;
- unsigned short __seq;
- unsigned short __pad2;
+ unsigned int mode;
+ unsigned short __seq;
+ unsigned short __pad2;
#if defined(__x86_64__) && !defined(_LP64)
u64 __unused1;
u64 __unused2;
t' value='search'/>
Age | Commit message (Expand) | Author |
2024-06-03 | nls: Update translations....* po/doc/guix-cookbook.sv.po: New file.
* po/doc/local.mk: Add 'sv' cookbook.
* po/doc/po4a.cfg (po4a_langs): Add 'sv'.
* doc/local.mk: Add 'sv' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'sv'.
* doc/guix-cookbook.texi (Top): Mention 'sv' cookbook.
Change-Id: Ibfeb7254f583f1c8827e8c2756bbb02880bcba46
| Florian Pelz |
2024-06-03 | build: Use the po4a command for the translation generation....* configure.ac (Documentation translation): Remove the po4a-translate command.
This command has been replaced by the po4a command and are not used from
anywhere.
* doc/local.mk ($(srcdir)/%D%/guix.%.texi, $(srcdir)/%D%/guix-cookbook.%.texi)
($(srcdir)/%D%/contributing.%.texi): Use the po4a command instead of the
po4a-translate for the translation generation. This eliminates the warning of
po4a-translate; "po4a-translate is deprecated. The unified po4a(1) program is
more convenient and less error prone."
(PO4A_PARAMS): Remove the Texinfo format option. This option is specified in
the configuration file (po/doc/po4a.cfg).
(dummy_pot): Add a variable for the temporary POT file location.
Change-Id: I542b934c3c03b8701e9f86823191224f8b0ccf81
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
| gemmaro |
2024-06-03 | build: Update the POT creation task with the po4a command....* configure.ac (Documentation translation): Add the po4a program and remove
the po4a-updatepo program. The PO4A defined here can be used in
Makefiles (e.g. po/doc/local.mk below). The po4a command integrates the
functionality of po4a-updatepo and is currently recommended for use [1]. The
po4a-updatepo command has been replaced by the po4a command and are not used
from anywhere.
* po/doc/local.mk (%D%/%.pot): Use a po4a command instead of the po4a-updatepo
for the POT generation. This eliminates the warning of po4a-updatepo;
"po4a-updatepo is deprecated. The unified po4a(1) program is more convenient
and less error prone." Here, the file paths are passed using variables. This
is because the po4a command needs to be executed for each language and each
file. Dummy values are passed for those that are not needed to update the POT
file.
* po/doc/po4a.cfg: Add a po4a config file for the POT generation. The po4a
command requires a configulation file.
[1] https://po4a.org/man/man7/po4a.7.php.en#lbAS
Change-Id: Ica39a0d1f77b6a64d37c592ac2e693319443d3c5
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
| gemmaro |
2024-04-14 | maint: Use reproducible Git timestamp for POT-Creation-Date....* po/doc/local.mk (%D%/%.pot): Replace POT-Creation-Date using timestamp from
Git.
(%D%/guix-manual.pot): Likewise.
Change-Id: I1b7f8cc147084c1804deb7be9d36e5eeda2599cb
| Janneke Nieuwenhuizen |
2024-04-01 | nls: Update translations....* po/guix/ar.po: New file.
* po/guix/LINGUAS: Add 'ar'.
* po/doc/guix-cookbook.pt_BR.po: New file.
* po/doc/local.mk: Add 'pt_BR' cookbook.
* doc/local.mk: Add 'pt_BR' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'ko', 'pt_BR'.
* doc/guix-cookbook.texi (Top): Mention 'ko', 'pt_BR' cookbook.
Change-Id: Id1846ca100263b3fc1fa2ed52654c670270ee809
| Florian Pelz |