From owner-freebsd-toolchain@FreeBSD.ORG Wed Jul 25 09:23:00 2012 Return-Path: Delivered-To: freebsd-toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4EBDA106566B for ; Wed, 25 Jul 2012 09:23:00 +0000 (UTC) (envelope-from lubatang@gmail.com) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id D35A08FC16 for ; Wed, 25 Jul 2012 09:22:59 +0000 (UTC) Received: by weyx56 with SMTP id x56so432844wey.13 for ; Wed, 25 Jul 2012 02:22:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=MJIud5/Zw0NVQnQSOivhJRGpINbfvXjBeo2lJRKnMPk=; b=njRrGHGrhYSP9BepS8KwVKSp9I9ssEQ09BmzPmXk6DNndR13xOq5FKDEBALJDG5v3D 8atTqdfAvJwZ/ig+OQ13bEcorR8h1ItiiI5UQiJaImszl3Wffj5cX/WLSkWJ+KIC4oCe Lvwjay7U7m++9LT9+Koc1PJEQ8y8Se11GgwrAwJrrPPRZXCmPIVZbZfUmeFKGKm6Oyy5 ie+ntRJY4OktT0qmF6L3OtySgNTGwNJVIGxabrHg1EwyB+AufZ/1CBqdr3ry7h1utngS 4iyfTiaENgYiAIyLxOYZmjaDRuItHuG9ukXSZto3//lOgt82mXVTM/WyFZmGtPnI2BS2 SDAw== MIME-Version: 1.0 Received: by 10.180.97.33 with SMTP id dx1mr2843359wib.18.1343208178017; Wed, 25 Jul 2012 02:22:58 -0700 (PDT) Received: by 10.216.48.5 with HTTP; Wed, 25 Jul 2012 02:22:57 -0700 (PDT) Date: Wed, 25 Jul 2012 17:22:58 +0800 Message-ID: From: Luba Tang To: freebsd-toolchain@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: MCLinker and llvm-config X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2012 09:23:00 -0000 > On 24 Jul 2012, at 10:39, Erik Cederstrand wrote: >> Btw, do you guys have any plans for a GNU ld replacement? Progress on the more "official" lld (http://lld.llvm.org/) seems slow, and MCLinker more promising. Hence my feeble attempts :-) > Most of the progress in lld is not in lld itself, but in the underlying frameworks. The tool is expected to be a fairly thin wrapper. The Object code in the main llvm repository is where the real work happens. > > MCLinker is likely a dead end. It was intended as a quick-and-dirty hack to get a working linker for a small subset of the problem, with no thought as to how to solve the general case. > > David Dears, Let me explain the status of MCLinker. MCLinker now is one of the standard system linkers in Android system. https://android.googlesource.com/platform/frameworks/compile/mclinker Since there are many practical issues in ELF system (some of them are undocumented :'( ), I think MCLinker could be said as a linker who is robust enough to handle with wrapped symbols, segments, .group section, exception, DWRAF, and many many ELF unique features. :) In our plan, we will get rid of LLVM in this September. At that time, MCLinker wil be able to handle archives, and has some basic support for link script. We have promised BSD systems have higher priority than Linux systems, and we will keep our promise. BTW, I think llvm-config is necessary for every LLVM-based project. If it will not be in BSD system, I think we can negotiate an approach to get rid of it. Just like what Android did. Best regards, Luba