diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52b2a8921c08..8b601c9bf73c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-05-22 Steven Drake + + * gcc.c (do_spec_1): Add %M spec token to output multilib_os_dir. + 2012-05-22 David Edelsohn * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref): diff --git a/gcc/gcc.c b/gcc/gcc.c index e152b7053938..d1ef922e0518 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -377,6 +377,7 @@ or with constant text in a single argument. If multilib_dir is set, extra entries are generated with it affixed. %l process LINK_SPEC as a spec. %L process LIB_SPEC as a spec. + %M Output multilib_os_dir. %G process LIBGCC_SPEC as a spec. %R Output the concatenation of target_system_root and target_sysroot_suffix. @@ -5115,6 +5116,14 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) return value; break; + case 'M': + if (multilib_os_dir == NULL) + obstack_1grow (&obstack, '.'); + else + obstack_grow (&obstack, multilib_os_dir, + strlen (multilib_os_dir)); + break; + case 'G': value = do_spec_1 (libgcc_spec, 0, NULL); if (value != 0)