diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 2559dea2653..da1d4f08fa2 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -69,8 +69,11 @@ stdenv.mkDerivation ({ + '' echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile '' - # Replace the date and time in nscd by $out. - # It is used as a protocol compatibility check. + # Replace the date and time in nscd by a prefix of $out. + # It is used as a protocol compatibility check. + # Note: the size of the struct changes, but using only a part + # would break hash-rewriting. When receiving stats it does check + # that the struct sizes match and can't cause overflow or something. + '' cat ${./glibc-remove-datetime-from-nscd.patch} \ | sed "s,@out@,$out," | patch -p1 diff --git a/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch b/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch index 0a5456ea5c4..db010e62366 100644 --- a/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch +++ b/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch @@ -5,7 +5,7 @@ /* We use this to make sure the receiver is the same. */ -static const char compilation[21] = __DATE__ " " __TIME__; -+static const char compilation[21] = "@out@"; ++static const char compilation[] = "@out@"; /* Statistic data for one database. */ struct dbstat