aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2017-02-08 20:35:06 +0200
committerTuomas Tynkkynen <tuomas@tuxera.com>2017-02-08 21:51:02 +0200
commit2cd468874fe512387820bd47d23fa6351d069da2 (patch)
treec164b754bfee98cc719f4468ef496d9a76419b96 /src
parent81c53fe8e56f4a4ce10088fe2d7b6a524a6dc126 (diff)
Include config.h implicitly with '-include config.h' in CFLAGS
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!
Diffstat (limited to 'src')
-rw-r--r--src/libexpr/json-to-value.cc1
-rw-r--r--src/libexpr/symbol-table.hh2
-rw-r--r--src/libexpr/value.hh1
-rw-r--r--src/libmain/shared.cc2
-rw-r--r--src/libmain/stack.cc2
-rw-r--r--src/libstore/build.cc2
-rw-r--r--src/libstore/globals.cc2
-rw-r--r--src/libstore/local-store.cc1
-rw-r--r--src/libstore/optimise-store.cc2
-rw-r--r--src/libstore/s3-binary-cache-store.cc2
-rw-r--r--src/libutil/archive.cc2
-rw-r--r--src/libutil/hash.cc2
-rw-r--r--src/libutil/types.hh1
-rw-r--r--src/libutil/util.cc2
14 files changed, 0 insertions, 24 deletions
diff --git a/src/libexpr/json-to-value.cc b/src/libexpr/json-to-value.cc
index f671802bc..c189cdef3 100644
--- a/src/libexpr/json-to-value.cc
+++ b/src/libexpr/json-to-value.cc
@@ -1,4 +1,3 @@
-#include "config.h"
#include "json-to-value.hh"
#include <cstring>
diff --git a/src/libexpr/symbol-table.hh b/src/libexpr/symbol-table.hh
index 2fdf82021..c2ee49dd3 100644
--- a/src/libexpr/symbol-table.hh
+++ b/src/libexpr/symbol-table.hh
@@ -1,7 +1,5 @@
#pragma once
-#include "config.h"
-
#include <map>
#include <unordered_set>
diff --git a/src/libexpr/value.hh b/src/libexpr/value.hh
index 271e6a1b2..81f918d48 100644
--- a/src/libexpr/value.hh
+++ b/src/libexpr/value.hh
@@ -1,6 +1,5 @@
#pragma once
-#include "config.h"
#include "symbol-table.hh"
#if HAVE_BOEHMGC
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index 52cb23128..56aa3db00 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#include "common-args.hh"
#include "globals.hh"
#include "shared.hh"
diff --git a/src/libmain/stack.cc b/src/libmain/stack.cc
index abf59dc4b..57b6a197c 100644
--- a/src/libmain/stack.cc
+++ b/src/libmain/stack.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#include "types.hh"
#include <cstring>
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 5d6fff4e3..1aee150fd 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#include "references.hh"
#include "pathlocks.hh"
#include "globals.hh"
diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
index 00b468892..90f83a5bb 100644
--- a/src/libstore/globals.cc
+++ b/src/libstore/globals.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#include "globals.hh"
#include "util.hh"
#include "archive.hh"
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc
index 612efde7b..4c161cfb3 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -1,4 +1,3 @@
-#include "config.h"
#include "local-store.hh"
#include "globals.hh"
#include "archive.hh"
diff --git a/src/libstore/optimise-store.cc b/src/libstore/optimise-store.cc
index b71c7e905..cf234e35d 100644
--- a/src/libstore/optimise-store.cc
+++ b/src/libstore/optimise-store.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#include "util.hh"
#include "local-store.hh"
#include "globals.hh"
diff --git a/src/libstore/s3-binary-cache-store.cc b/src/libstore/s3-binary-cache-store.cc
index ccb71f1ee..cc1b33104 100644
--- a/src/libstore/s3-binary-cache-store.cc
+++ b/src/libstore/s3-binary-cache-store.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#if ENABLE_S3
#if __linux__
diff --git a/src/libutil/archive.cc b/src/libutil/archive.cc
index fbba7f853..e0e6f5dfd 100644
--- a/src/libutil/archive.cc
+++ b/src/libutil/archive.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#include <cerrno>
#include <algorithm>
#include <vector>
diff --git a/src/libutil/hash.cc b/src/libutil/hash.cc
index aa50fceb9..f447c80c5 100644
--- a/src/libutil/hash.cc
+++ b/src/libutil/hash.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#include <iostream>
#include <cstring>
diff --git a/src/libutil/types.hh b/src/libutil/types.hh
index b9a93d27d..97d79af9b 100644
--- a/src/libutil/types.hh
+++ b/src/libutil/types.hh
@@ -1,6 +1,5 @@
#pragma once
-#include "config.h"
#include "ref.hh"
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 6c4c5c969..336599368 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -1,5 +1,3 @@
-#include "config.h"
-
#include "util.hh"
#include "affinity.hh"
#include "sync.hh"