Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-08-31 | src/libmain/stack.cc: fix 'ucontext' usage on glibc-2.26 | Sergei Trofimovich | 1 | -2/+2 | |
Build fails as: $ make CXX src/libmain/stack.o src/libmain/stack.cc: In function 'void nix::sigsegvHandler(int, siginfo_t*, void*)': src/libmain/stack.cc:21:21: error: 'ucontext' was not declared in this scope sp = (char *) ((ucontext *) ctx)->uc_mcontext.gregs[REG_RSP]; ^~~~~~~~ src/libmain/stack.cc:21:21: note: suggested alternative: 'ucontext_t' sp = (char *) ((ucontext *) ctx)->uc_mcontext.gregs[REG_RSP]; ^~~~~~~~ ucontext_t It's caused by upstream rename: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=251287734e89a52da3db682a8241eb6bccc050c9 which basically changes typedef struct ucontext {} ucontext_t; to typedef struct ucontext_t {} ucontext_t; The change uses ucontext_t. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> | |||||
2017-07-14 | Shut up a memory leak warning | Eelco Dolstra | 1 | -1/+2 | |
2017-02-08 | Include config.h implicitly with '-include config.h' in CFLAGS | Tuomas Tynkkynen | 1 | -2/+0 | |
Because config.h can #define things like _FILE_OFFSET_BITS=64 and not every compilation unit includes config.h, we currently compile half of Nix with _FILE_OFFSET_BITS=64 and other half with _FILE_OFFSET_BITS unset. This causes major havoc with the Settings class on e.g. 32-bit ARM, where different compilation units disagree with the struct layout. E.g.: diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc @@ -166,6 +166,8 @@ void Settings::update() _get(useSubstitutes, "build-use-substitutes"); + fprintf(stderr, "at Settings::update(): &useSubstitutes = %p\n", &nix::settings.useSubstitutes); _get(buildUsersGroup, "build-users-group"); diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc +++ b/src/libstore/remote-store.cc @@ -138,6 +138,8 @@ void RemoteStore::initConnection(Connection & conn) void RemoteStore::setOptions(Connection & conn) { + fprintf(stderr, "at RemoteStore::setOptions(): &useSubstitutes = %p\n", &nix::settings.useSubstitutes); conn.to << wopSetOptions Gave me: at Settings::update(): &useSubstitutes = 0xb6e5c5cb at RemoteStore::setOptions(): &useSubstitutes = 0xb6e5c5c7 That was not a fun one to debug! | |||||
2016-10-12 | Shut up some warnings | Eelco Dolstra | 1 | -1/+1 | |
2014-12-12 | Silence some warnings on GCC 4.9 | Eelco Dolstra | 1 | -1/+1 | |
2014-10-31 | Shut up a clang warning | Eelco Dolstra | 1 | -1/+1 | |
2013-08-07 | Respect MINSIGSTKSZ when allocating an alternative stack | Eelco Dolstra | 1 | -1/+1 | |
http://hydra.nixos.org/build/5663577 | |||||
2013-07-30 | Detect stack overflows | Eelco Dolstra | 1 | -0/+72 | |
Previously, if the Nix evaluator gets a stack overflow due to a deep or infinite recursion in the Nix expression, the user gets an unhelpful message ("Segmentation fault") that doesn't indicate that the problem is in the user's code rather than Nix itself. Now it prints: error: stack overflow (possible infinite recursion) This only works on x86_64-linux and i686-linux. Fixes #35. |