@@ -230,6 +230,20 @@ static void getAArch64MultilibFlags(const Driver &D,
230230 Result.push_back (BranchProtectionArg->getAsString (Args));
231231 }
232232
233+ if (Arg *AlignArg = Args.getLastArg (
234+ options::OPT_mstrict_align, options::OPT_mno_strict_align,
235+ options::OPT_mno_unaligned_access, options::OPT_munaligned_access)) {
236+ if (AlignArg->getOption ().matches (options::OPT_mstrict_align) ||
237+ AlignArg->getOption ().matches (options::OPT_mno_unaligned_access))
238+ Result.push_back (AlignArg->getAsString (Args));
239+ }
240+
241+ if (Arg *Endian = Args.getLastArg (options::OPT_mbig_endian,
242+ options::OPT_mlittle_endian)) {
243+ if (Endian->getOption ().matches (options::OPT_mbig_endian))
244+ Result.push_back (Endian->getAsString (Args));
245+ }
246+
233247 const Arg *ABIArg = Args.getLastArgNoClaim (options::OPT_mabi_EQ);
234248 if (ABIArg) {
235249 Result.push_back (ABIArg->getAsString (Args));
@@ -287,6 +301,20 @@ static void getARMMultilibFlags(const Driver &D,
287301 if (BranchProtectionArg) {
288302 Result.push_back (BranchProtectionArg->getAsString (Args));
289303 }
304+
305+ if (Arg *AlignArg = Args.getLastArg (
306+ options::OPT_mstrict_align, options::OPT_mno_strict_align,
307+ options::OPT_mno_unaligned_access, options::OPT_munaligned_access)) {
308+ if (AlignArg->getOption ().matches (options::OPT_mstrict_align) ||
309+ AlignArg->getOption ().matches (options::OPT_mno_unaligned_access))
310+ Result.push_back (AlignArg->getAsString (Args));
311+ }
312+
313+ if (Arg *Endian = Args.getLastArg (options::OPT_mbig_endian,
314+ options::OPT_mlittle_endian)) {
315+ if (Endian->getOption ().matches (options::OPT_mbig_endian))
316+ Result.push_back (Endian->getAsString (Args));
317+ }
290318}
291319
292320static void getRISCVMultilibFlags (const Driver &D, const llvm::Triple &Triple,
0 commit comments