From owner-svn-src-user@FreeBSD.ORG Sun May 5 17:25:40 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0790244D; Sun, 5 May 2013 17:25:40 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EEB61661; Sun, 5 May 2013 17:25:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45HPd85074126; Sun, 5 May 2013 17:25:39 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45HPdFi074125; Sun, 5 May 2013 17:25:39 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051725.r45HPdFi074125@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 17:25:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250279 - user/dchagin/lemul/sys/compat/linprocfs X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 17:25:40 -0000 Author: dchagin Date: Sun May 5 17:25:39 2013 New Revision: 250279 URL: http://svnweb.freebsd.org/changeset/base/250279 Log: Get ready to commit x86_64 Linux emulation. Print out proper procmap entry for 64 bit binaries. Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c ============================================================================== --- user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Sun May 5 16:44:03 2013 (r250278) +++ user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Sun May 5 17:25:39 2013 (r250279) @@ -984,6 +984,9 @@ linprocfs_doprocenviron(PFS_FILL_ARGS) return (ret); } +static char l32_map_str[] = "%08lx-%08lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n"; +static char l64_map_str[] = "%016lx-%016lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n"; + /* * Filler function for proc/pid/maps */ @@ -999,6 +1002,7 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) vm_prot_t e_prot; unsigned int last_timestamp; char *name = "", *freename = NULL; + const char *l_map_str; ino_t ino; int ref_count, shadow_count, flags; int error; @@ -1071,8 +1075,11 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) * format: * start, end, access, offset, major, minor, inode, name. */ - error = sbuf_printf(sb, - "%08lx-%08lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n", + if (SV_CURPROC_FLAG(SV_LP64)) + l_map_str = l64_map_str; + else + l_map_str = l32_map_str; + error = sbuf_printf(sb, l_map_str, (u_long)e_start, (u_long)e_end, (e_prot & VM_PROT_READ)?"r":"-", (e_prot & VM_PROT_WRITE)?"w":"-",