From owner-svn-src-all@FreeBSD.ORG Mon Apr 20 17:37:38 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 43921CFA; Mon, 20 Apr 2015 17:37:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2434A66E; Mon, 20 Apr 2015 17:37:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t3KHbc8U084086; Mon, 20 Apr 2015 17:37:38 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t3KHbcWH084085; Mon, 20 Apr 2015 17:37:38 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201504201737.t3KHbcWH084085@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 20 Apr 2015 17:37:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r281777 - head/contrib/llvm/patches X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Apr 2015 17:37:38 -0000 Author: dim Date: Mon Apr 20 17:37:37 2015 New Revision: 281777 URL: https://svnweb.freebsd.org/changeset/base/281777 Log: Add llvm patch corresponding to r281775. Added: head/contrib/llvm/patches/patch-13-llvm-r229911-uleb128-commas.diff Added: head/contrib/llvm/patches/patch-13-llvm-r229911-uleb128-commas.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/llvm/patches/patch-13-llvm-r229911-uleb128-commas.diff Mon Apr 20 17:37:37 2015 (r281777) @@ -0,0 +1,77 @@ +Pull in r229911 from upstream llvm trunk (by Benjamin Kramer): + + MC: Allow multiple comma-separated expressions on the .uleb128 directive. + + For compatiblity with GNU as. Binutils documents this as + '.uleb128 expressions'. Subtle, isn't it? + +Introduced here: http://svnweb.freebsd.org/changeset/base/281775 + +Index: lib/MC/MCParser/AsmParser.cpp +=================================================================== +--- lib/MC/MCParser/AsmParser.cpp ++++ lib/MC/MCParser/AsmParser.cpp +@@ -3636,22 +3636,28 @@ bool AsmParser::parseDirectiveSpace(StringRef IDVa + } + + /// parseDirectiveLEB128 +-/// ::= (.sleb128 | .uleb128) expression ++/// ::= (.sleb128 | .uleb128) [ expression (, expression)* ] + bool AsmParser::parseDirectiveLEB128(bool Signed) { + checkForValidSection(); + const MCExpr *Value; + +- if (parseExpression(Value)) +- return true; ++ for (;;) { ++ if (parseExpression(Value)) ++ return true; + +- if (getLexer().isNot(AsmToken::EndOfStatement)) +- return TokError("unexpected token in directive"); ++ if (Signed) ++ getStreamer().EmitSLEB128Value(Value); ++ else ++ getStreamer().EmitULEB128Value(Value); + +- if (Signed) +- getStreamer().EmitSLEB128Value(Value); +- else +- getStreamer().EmitULEB128Value(Value); ++ if (getLexer().is(AsmToken::EndOfStatement)) ++ break; + ++ if (getLexer().isNot(AsmToken::Comma)) ++ return TokError("unexpected token in directive"); ++ Lex(); ++ } ++ + return false; + } + +Index: test/MC/ELF/uleb.s +=================================================================== +--- test/MC/ELF/uleb.s ++++ test/MC/ELF/uleb.s +@@ -11,16 +11,17 @@ foo: + .uleb128 128 + .uleb128 16383 + .uleb128 16384 ++ .uleb128 23, 42 + + // ELF_32: Name: .text + // ELF_32: SectionData ( +-// ELF_32: 0000: 00017F80 01FF7F80 8001 ++// ELF_32: 0000: 00017F80 01FF7F80 8001172A + // ELF_32: ) + // ELF_64: Name: .text + // ELF_64: SectionData ( +-// ELF_64: 0000: 00017F80 01FF7F80 8001 ++// ELF_64: 0000: 00017F80 01FF7F80 8001172A + // ELF_64: ) + // MACHO_32: ('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +-// MACHO_32: ('_section_data', '00017f80 01ff7f80 8001') ++// MACHO_32: ('_section_data', '00017f80 01ff7f80 8001172a') + // MACHO_64: ('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +-// MACHO_64: ('_section_data', '00017f80 01ff7f80 8001') ++// MACHO_64: ('_section_data', '00017f80 01ff7f80 8001172a')