>From d9a35fe9d3508b5c0d56e7f2ec80fc05e8415fa3 Mon Sep 17 00:00:00 2001 From: Brooks Moses Date: Wed, 9 Oct 2013 12:32:48 -0700 Subject: [PATCH] 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 --- build-aux/ltmain.in | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index f22ac05..363ce9b 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 -- 1.8.4