diff options
author | P. J. McDermott <pjm@nac.net> | 2013-06-04 20:11:15 (EDT) |
---|---|---|
committer | P. J. McDermott <pjm@nac.net> | 2013-06-04 20:11:15 (EDT) |
commit | 483993c24194cb4c3254e85fc81ed14fa60bb7a2 (patch) | |
tree | f48cc10b4f6288069ca1fad01855ea242f853f2f | |
parent | e8647d9ec7b7126f708da068184522751dbb23d1 (diff) |
Also edit MULTILIB_OSDIRNAMES in target fragment.
The GCC Internals manual (gcc/doc/fragments.texi) says:
> For configurations that support both multilib and multiarch,
> MULTILIB_OSDIRNAMES also encodes the multiarch name, thus subsuming
> MULTIARCH_DIRNAME.
>
[...]
>
> MULTIARCH_DIRNAME is not used for configurations that support both multilib
> and multiarch. In that case, multiarch names are encoded in
> MULTILIB_OSDIRNAMES instead.
This sounds like the makefile macro used depends on the build-time user
configuration; that is, the options --disable-multilib and --enable-multiarch
should cause MULTIARCH_DIRNAME to be used.
Instead, it seems MULTILIB_OSDIRNAMES is used, even if multilib is disabled. So
apparently, "configurations that support both" means GCC target configurations
that support both features, not build-time user configurations that enable them.
-rwxr-xr-x | build | 4 | ||||
-rw-r--r-- | targets.d/core-linux-eglibc.sh | 1 |
2 files changed, 5 insertions, 0 deletions
@@ -82,6 +82,10 @@ $(build_targets): configure sed "s|^\($${define_pattern}\) \".*\"$$|\1 \"$(elf_interp)\"|" \ "src/gcc/config/$${gcc_config_file}~" \ >"src/gcc/config/$${gcc_config_file}"; \ + sed "$${gcc_config_fragment_script}" \ + >"src/gcc/config/$${gcc_config_fragment}~"; \ + mv "src/gcc/config/$${gcc_config_fragment}~" \ + "src/gcc/config/$${gcc_config_fragment}"; \ printf '\nMULTIARCH_DIRNAME = %s\n' "$(target)" \ >>"src/gcc/config/$${gcc_config_fragment}" if [ "x$(target)" = 'x$(OPK_HOST_ARCH)' ]; then \ diff --git a/targets.d/core-linux-eglibc.sh b/targets.d/core-linux-eglibc.sh index f93eddc..e4b0017 100644 --- a/targets.d/core-linux-eglibc.sh +++ b/targets.d/core-linux-eglibc.sh @@ -1,3 +1,4 @@ gcc_config_file='i386/linux64.h' gcc_config_interp_macro='GLIBC_DYNAMIC_LINKER64' gcc_config_fragment='i386/t-linux64' +gcc_config_fragment_script='s/\(m64=.*:\)x86_64-linux-gnu/\1core-linux-eglibc/' |