From owner-svn-src-vendor@freebsd.org Sun Dec 24 14:05:18 2017 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 06D94E90956; Sun, 24 Dec 2017 14:05:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::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 D0CF17B403; Sun, 24 Dec 2017 14:05:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vBOE5Ghe007502; Sun, 24 Dec 2017 14:05:16 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vBOE5GLb007500; Sun, 24 Dec 2017 14:05:16 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201712241405.vBOE5GLb007500@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 24 Dec 2017 14:05:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r327158 - in vendor/lld/dist: ELF test/ELF/linkerscript X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/lld/dist: ELF test/ELF/linkerscript X-SVN-Commit-Revision: 327158 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Dec 2017 14:05:18 -0000 Author: dim Date: Sun Dec 24 14:05:16 2017 New Revision: 327158 URL: https://svnweb.freebsd.org/changeset/base/327158 Log: Vendor import of lld trunk r321426: https://llvm.org/svn/llvm-project/lld/trunk@321426 Modified: vendor/lld/dist/ELF/LinkerScript.cpp vendor/lld/dist/test/ELF/linkerscript/data-commands.s Modified: vendor/lld/dist/ELF/LinkerScript.cpp ============================================================================== --- vendor/lld/dist/ELF/LinkerScript.cpp Sun Dec 24 14:05:12 2017 (r327157) +++ vendor/lld/dist/ELF/LinkerScript.cpp Sun Dec 24 14:05:16 2017 (r327158) @@ -693,6 +693,8 @@ void LinkerScript::assignOffsets(OutputSection *Sec) { if (auto *Cmd = dyn_cast(Base)) { Cmd->Offset = Dot - Ctx->OutSec->Addr; Dot += Cmd->Size; + if (Ctx->MemRegion) + Ctx->MemRegionOffset[Ctx->MemRegion] += Cmd->Size; Ctx->OutSec->Size = Dot - Ctx->OutSec->Addr; continue; } Modified: vendor/lld/dist/test/ELF/linkerscript/data-commands.s ============================================================================== --- vendor/lld/dist/test/ELF/linkerscript/data-commands.s Sun Dec 24 14:05:12 2017 (r327157) +++ vendor/lld/dist/test/ELF/linkerscript/data-commands.s Sun Dec 24 14:05:16 2017 (r327158) @@ -44,6 +44,42 @@ # BE-NEXT: ff12ff11 22ff1122 3346ff11 22334455 # BE-NEXT: 667788 +# RUN: echo "MEMORY { \ +# RUN: rom (rwx) : ORIGIN = 0x00, LENGTH = 2K \ +# RUN: } \ +# RUN: SECTIONS { \ +# RUN: .foo : { \ +# RUN: *(.foo.1) \ +# RUN: BYTE(0x11) \ +# RUN: *(.foo.2) \ +# RUN: SHORT(0x1122) \ +# RUN: *(.foo.3) \ +# RUN: LONG(0x11223344) \ +# RUN: *(.foo.4) \ +# RUN: QUAD(0x1122334455667788) \ +# RUN: } > rom \ +# RUN: .bar : { \ +# RUN: *(.bar.1) \ +# RUN: BYTE(a + 1) \ +# RUN: *(.bar.2) \ +# RUN: SHORT(b) \ +# RUN: *(.bar.3) \ +# RUN: LONG(c + 2) \ +# RUN: *(.bar.4) \ +# RUN: QUAD(d) \ +# RUN: } > rom \ +# RUN: }" > %t-memory.script +# RUN: ld.lld -o %t-memory %t.o --script %t-memory.script +# RUN: llvm-objdump -s %t-memory | FileCheck %s --check-prefix=MEM + +# MEM: Contents of section .foo: +# MEM-NEXT: 0000 ff11ff22 11ff4433 2211ff88 77665544 +# MEM-NEXT: 0010 332211 + +# MEM: Contents of section .bar: +# MEM-NEXT: 0013 ff12ff22 11ff4633 2211ff88 77665544 +# MEM-NEXT: 0023 332211 + .global a a = 0x11