This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See crosstool-NG for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Quoth Alexey Neyman: > On 01/06/2018 11:27 AM, Steven Taschuk wrote: > > I've understood correctly, the bash function do_binutils_for_host > > configures binutils with --prefix=${CT_PREFIX_DIR} and installs the > > executables with make install. This procedure results in paths from > > the build machine being embedded in the binaries, in at least two > > places: the use of BINDIR at binutils-2.28/bfd/plugin.c:337; and > > the various uses of DEBUGDIR in binutils-2.28/bfd/dwarf2.c (where > > DEBUGDIR=${libdir}/debug; see binutils-2.28/bfd/configure.ac:108). > > It is not just that. Also, NLS code embeds some build-time paths > into the code, etc. [...] I think in my situation, for binutils, it actually is just these two spots. (Details: My config has NLS disabled. To handle debugging information, I patch the build->host cross toolchain to support BUILD_PATH_PREFIX_MAP from the Debian reproducible builds project. I'm not sure what else you had in mind for "etc", but if I tweak the binutils source in the two places I mentioned to use hard-coded paths, the binutils executables become reproducible in my build, in the few environments I've tested. I won't be surprised to find other irreproducibilities when I expand the set of build environments that I test with, but that's where things stand right now.) > [...] The problem is that we don't know where the > toolchain will be located and many configure scripts "automagically" > find headers/libraries based on the value of $prefix. [...] Yeah, I understand that many packages are distributed with build systems that don't support the build!=host case well, and that magical autodetection in configure scripts is a big part of that, and I certainly don't expect crosstool-ng to fix everybody else's build systems. As you said, that'd be a huge ongoing maintenance headache. Is this known to be a problem with binutils specifically? Also, if it is a problem with binutils, why does do_binutils_for_target use the procedure where --prefix refers to a path on the host, and DESTDIR is used to install it elsewhere on the build machine? -- Steven Taschuk http://www.amotlpaa.org/ "What? shall we receive good at the hand of God, and shall we not receive evil?" -- Job 2:10
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |