From: Brooks Moses Date: Wed, 9 Oct 2013 19:32:48 +0000 (-0700) Subject: libtool: Discard "-mllvm $arg" options when linking. X-Git-Tag: v2.4.2.418~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d9a35fe9d3508b5c0d56e7f2ec80fc05e8415fa3;p=thirdparty%2Flibtool.git libtool: Discard "-mllvm $arg" options when linking. Clang accepts options of the form "-mllvm $arg", and passes the argument as an option to LLVM. These options caused problems for Libtool when linking; in some cases, the -mllvm option is passed through but the corresponding argument is dropped. (See for example http://llvm.org/bugs/show_bug.cgi?id=14716.) This patch resolves the issue by explicitly matching -mllvm and taking an argument. Since Clang never uses LLVM for linking, the matched "-mllvm $arg" option is irrelevant for the link step, and we can simply discard it once we've recognized it. Co-authored-by: Johannes Obermayr Copyright-paperwork-exempt: Yes --- diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index f22ac05ca..363ce9bb3 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -4739,6 +4739,12 @@ func_mode_link () prev= continue ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. + prev= + continue + ;; objectlist) if test -f "$arg"; then save_arg=$arg @@ -5077,6 +5083,11 @@ func_mode_link () continue ;; + -mllvm) + prev=mllvm + continue + ;; + -module) module=yes continue