summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README34
1 files changed, 34 insertions, 0 deletions
diff --git a/README b/README
index 7833acc..9cde205 100644
--- a/README
+++ b/README
@@ -24,5 +24,39 @@ commands before building:
$ ./config clean
$ ./config
+Binutils Build System Mangling
+------------------------------
+
+[See `patches/01_pass-some-dirs-to-child-makes.patch` for some background
+information.]
+
+An alternative to `patches/01_pass-some-dirs-to-child-makes.patch` is to run
+make in each subdirectory ourselves instead of letting the top-level makefile do
+it for us. This way, we can leave the build system untouched and directly give
+each child make process the required macro settings.
+
+There are ten subdirectories in which we would need to run make (though of
+course we don't currently enable some of them, e.g. `gold`):
+
+ * `bfd`
+ * `opcodes`
+ * `binutils`
+ * `etc`
+ * `gas`
+ * `gold`
+ * `gprof`
+ * `intl`
+ * `ld`
+ * `libiberty`
+
+The disadvantage to this is a higher maintenance cost: we need to keep track of
+the subdirectories in which we need to run make. We need to watch out for
+changes to the dependencies of `install-host` and `install-target` in Binutils's
+Makefile.in (unlikely) and changes in the features (e.g. gold) we enable
+(likely).
+
+The trivial patch (which adds just three lines) should apply cleanly across
+Binutils releases, so it seems best to just stick with that.
+
[debian-ld-ma-patch]: http://patch-tracker.debian.org/patch/series/view/binutils/2.22-7.1/129_ld_mulitarch_dirs.patch