[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#994232: libc6: generates unnecessarily tight dependencies on mips, mipsel



Package: libc6
Version: 2.32-2
Severity: normal
Tags: patch
X-Debbugs-Cc: debian-release@lists.debian.org

Most architectures' libc6.symbols.$arch have this pattern:

> $ cat debian/libc6.symbols.i386
> #include "libc6.symbols.common"
> ld-linux.so.2 #PACKAGE# #MINVER#
> #include "symbols.wildcards"
> libc.so.6 #PACKAGE# #MINVER#
> #include "symbols.wildcards"

This results in any use of symbols versioned foo@GLIBC_2.23 generating a
dependency on libc6 (>= 2.23), and so on.

However, libc6:mips and libc6:mipsel are missing the final
'#include "symbols.wildcards"', which results in those architectures
generating an unnecessarily strict dependency on libc6 (>= 2.32-1) and
entangling other transitions with glibc's transition. As far as I can see,
this was accidental?

libc6-i386:x32 has the same issue.

Please consider the attached patch.

    smcv
>From bffb450291513a1486dae6e04b1d126994ba22fe Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Tue, 14 Sep 2021 09:25:36 +0100
Subject: [PATCH] Restore versioned symbol tracking for mips, mipsel,
 libc6-i386:x32

Commit d3f9fade "debian/libc6.symbols.mips, debian/libc6.symbols.mipsel:
drop symbol overrides for TLS support" accidentally removed the inclusion
of symbols.wildcards, resulting in all symbols in libc.so.6 on the
affected architectures generating an unnecessarily tight dependency on
libc6 (>= 2.32-1).

Commit 5f5dfcb0 caused an equivalent issue for libc6-i386:x32.

Fixes: d3f9fade "debian/libc6.symbols.mips, debian/libc6.symbols.mipsel: drop symbol overrides for TLS support."
Fixes: 5f5dfcb0 "debian/libc6-i386.symbols.x32, debian/libc6.symbols.i386: drop symbol overrides for TLS support.
---
 debian/libc6-i386.symbols.x32 | 1 +
 debian/libc6.symbols.mips     | 1 +
 debian/libc6.symbols.mipsel   | 1 +
 3 files changed, 3 insertions(+)

diff --git a/debian/libc6-i386.symbols.x32 b/debian/libc6-i386.symbols.x32
index 3bd6f8f5..357d2f26 100644
--- a/debian/libc6-i386.symbols.x32
+++ b/debian/libc6-i386.symbols.x32
@@ -2,3 +2,4 @@
 ld-linux.so.2 #PACKAGE# #MINVER#
 #include "symbols.wildcards"
 libc.so.6 #PACKAGE# #MINVER#
+#include "symbols.wildcards"
diff --git a/debian/libc6.symbols.mips b/debian/libc6.symbols.mips
index 580f72c8..59332301 100644
--- a/debian/libc6.symbols.mips
+++ b/debian/libc6.symbols.mips
@@ -2,3 +2,4 @@
 ld.so.1 #PACKAGE# #MINVER#
 #include "symbols.wildcards"
 libc.so.6 #PACKAGE# #MINVER#
+#include "symbols.wildcards"
diff --git a/debian/libc6.symbols.mipsel b/debian/libc6.symbols.mipsel
index 580f72c8..59332301 100644
--- a/debian/libc6.symbols.mipsel
+++ b/debian/libc6.symbols.mipsel
@@ -2,3 +2,4 @@
 ld.so.1 #PACKAGE# #MINVER#
 #include "symbols.wildcards"
 libc.so.6 #PACKAGE# #MINVER#
+#include "symbols.wildcards"
-- 
2.33.0


Reply to: