From owner-freebsd-hackers@FreeBSD.ORG Wed Feb 20 15:29:31 2013 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 229CE4F5; Wed, 20 Feb 2013 15:29:31 +0000 (UTC) (envelope-from damjan.jov@gmail.com) Received: from mail-la0-x236.google.com (mail-la0-x236.google.com [IPv6:2a00:1450:4010:c03::236]) by mx1.freebsd.org (Postfix) with ESMTP id 5C5D8B09; Wed, 20 Feb 2013 15:29:30 +0000 (UTC) Received: by mail-la0-f54.google.com with SMTP id gw10so7837897lab.27 for ; Wed, 20 Feb 2013 07:29:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:from:date:message-id:subject:to :content-type; bh=kO0eY0Gk6ar4U8aOuGdt2/NWOuuIQgHW/sX9L6XU9xI=; b=BkTreC7J+0e38JhQKY/g7QBahmXwIq9ODUztvXRAHF75zn27sicncRrUtnZXH1yG1D gO1KEjEe1c4rlDxub0agfI6AS19ocxWbZLb5RVP0PfAbIqpUp2cUCjemY9M64INUD/2f Q41lR0sGHStpkCtQD4w81WNPxvjwZEt7gpNIhal5+RTPg2eG16c+zD05idobvNJnxsL4 9TLeS3f4a2JZHCNVB/OQUOUwLFt1ZE4UUqa+XENdBugvA/TsnAKGRHkzMiaI+p4NBk3d qceEV9sf7uwdvSLwyZP62aQQcirxGGiS964likqXbQO7Xq0sV5TXYChp7EMH5UYN+ngF APPA== X-Received: by 10.152.104.80 with SMTP id gc16mr18087997lab.49.1361374161894; Wed, 20 Feb 2013 07:29:21 -0800 (PST) MIME-Version: 1.0 Received: by 10.152.20.138 with HTTP; Wed, 20 Feb 2013 07:29:01 -0800 (PST) From: Damjan Jovanovic Date: Wed, 20 Feb 2013 17:29:01 +0200 Message-ID: Subject: [patch] Wine DLL base address patches To: freebsd-emulation@freebsd.org, freebsd-hackers@freebsd.org, tijl@coosemans.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 15:29:31 -0000 Hi Wine needs some of its libraries to be loaded at specific base addresses (https://wiki.freebsd.org/Wine), something FreeBSD currently lacks. I've written a patch to the dynamic loader (/libexec/ld-elf.so.1) that loads libraries at their preferred base addresses (http://www.freebsd.org/cgi/query-pr.cgi?pr=176216), as well as a port of Prelink to FreeBSD which Wine uses to set base addresses (http://www.freebsd.org/cgi/query-pr.cgi?pr=176283). Both work :-), the changed dynamic loader doesn't show any problems in a few days of testing, and prelink works with the --reloc-only option as used by Wine. Please review/test/comment/commit. Thank you Damjan Jovanovic