I'm cleaning out some old bugs and I came across this one which I hadn't finished.
In bug 1352973 we discussed adding libgcc%{_isa} to glibc's requires because the cancellation API requires it.
Given the current use of 'Requires: libgcc%{_isa}' for glibc-devel, it seems sensible to add this to glibc also.
The question is, should it be added only for non-bootstrap builds?
Or should we just fix it like this?
diff --git a/glibc.spec b/glibc.spec index d553c5b..0e3b0d2 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.28.9000-319-gce035c6e90 %define glibcversion 2.28.9000 -%define glibcrelease 22%{?dist} +%define glibcrelease 23%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -167,6 +167,10 @@ Provides: ldconfig
# The dynamic linker supports DT_GNU_HASH Provides: rtld(GNU_HASH) + +# We need libgcc for cancellation support in POSIX threads. +Requires: libgcc%{_isa} + Requires: glibc-common = %{version}-%{release}
# Various components (regex, glob) have been imported from gnulib. @@ -1902,6 +1906,9 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog +* Tue Nov 27 2018 Carlos O'Donell carlos@redhat.com - 2.28.9000-23 +- Add requires on libgcc for glibc (#1352973) + * Tue Nov 27 2018 Carlos O'Donell carlos@redhat.com - 2.28.9000-22 - Add requires on explicit glibc version for glibc-nss-devel (#1651260) ---
* Carlos O'Donell:
I'm cleaning out some old bugs and I came across this one which I hadn't finished.
In bug 1352973 we discussed adding libgcc%{_isa} to glibc's requires because the cancellation API requires it.
Given the current use of 'Requires: libgcc%{_isa}' for glibc-devel, it seems sensible to add this to glibc also.
The question is, should it be added only for non-bootstrap builds?
No, we should keep the differences to a minimum.
Or should we just fix it like this?
diff --git a/glibc.spec b/glibc.spec index d553c5b..0e3b0d2 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.28.9000-319-gce035c6e90 %define glibcversion 2.28.9000 -%define glibcrelease 22%{?dist} +%define glibcrelease 23%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -167,6 +167,10 @@ Provides: ldconfig
# The dynamic linker supports DT_GNU_HASH Provides: rtld(GNU_HASH)
+# We need libgcc for cancellation support in POSIX threads. +Requires: libgcc%{_isa}
Maybe drop the requirement from glibc-devel because it is now redundant?
Thanks, Florian
On 11/28/18 2:23 AM, Florian Weimer wrote:
- Carlos O'Donell:
I'm cleaning out some old bugs and I came across this one which I hadn't finished.
In bug 1352973 we discussed adding libgcc%{_isa} to glibc's requires because the cancellation API requires it.
Given the current use of 'Requires: libgcc%{_isa}' for glibc-devel, it seems sensible to add this to glibc also.
The question is, should it be added only for non-bootstrap builds?
No, we should keep the differences to a minimum.
Or should we just fix it like this?
diff --git a/glibc.spec b/glibc.spec index d553c5b..0e3b0d2 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.28.9000-319-gce035c6e90 %define glibcversion 2.28.9000 -%define glibcrelease 22%{?dist} +%define glibcrelease 23%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -167,6 +167,10 @@ Provides: ldconfig
# The dynamic linker supports DT_GNU_HASH Provides: rtld(GNU_HASH)
+# We need libgcc for cancellation support in POSIX threads. +Requires: libgcc%{_isa}
Maybe drop the requirement from glibc-devel because it is now redundant?
Good idea. Fixed and pushed.