From owner-freebsd-emulation Thu Feb 27 10:56:28 2003 Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7919737B4D4 for ; Thu, 27 Feb 2003 10:56:26 -0800 (PST) Received: from b.smtp-out.sonic.net (b.smtp-out.sonic.net [208.201.224.39]) by mx1.FreeBSD.org (Postfix) with SMTP id 0423343FBF for ; Thu, 27 Feb 2003 10:56:25 -0800 (PST) (envelope-from milo@cyberlifelabs.com) Received: (qmail 29318 invoked from network); 27 Feb 2003 18:56:24 -0000 Received: from sub.sonic.net (208.201.224.8) by b.smtp-out.sonic.net with SMTP; 27 Feb 2003 18:56:24 -0000 Received: from cyberlifelabs.com (adsl-64-142-14-252.sonic.net [64.142.14.252]) by sub.sonic.net (8.11.6/8.8.5) with ESMTP id h1RIuNn06410; Thu, 27 Feb 2003 10:56:24 -0800 X-envelope-info: Message-ID: <3E5E5F56.90605@cyberlifelabs.com> Date: Thu, 27 Feb 2003 10:56:22 -0800 From: Milo Hyson User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.1) Gecko/20030120 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Bruce Evans Cc: FreeBSD Emulation List Subject: Re: Working on IBM JDK fix References: <20030214033116.F4167-100000@gamplex.bde.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-emulation@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Bruce Evans wrote: > % /* allocate user ldt */ > % if (!pldt || largest_ld >= pldt->ldt_len) { > % struct proc_ldt *new_ldt = user_ldt_alloc(mdp, largest_ld); > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > But we use `largest_ld' for the size of the table here. > > Try adding 1 here. No, that doesn't solve the problem. I'm still seeing the same traps. That's definitely a bug that should be fixed though. According to the Linux kernel references on modify_ldt(), function codes 0x01 and 0x11 are both used to write a single LDT entry. The only difference between them is that 0x11 allows control of the useable/available bit. Both return either 0 on success or -1 on error. They never return anything but those two values. Looking at the Linux kernel source confirms this. I'm wondering if the 8190 being returned by FreeBSD is confusing the JDK into thinking the call failed when in fact it succeeded. -- Milo Hyson CyberLife Labs To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-emulation" in the body of the message