From owner-freebsd-hackers@freebsd.org Wed May 24 09:22:48 2017 Return-Path: Delivered-To: freebsd-hackers@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 ED210D7BE86 for ; Wed, 24 May 2017 09:22:48 +0000 (UTC) (envelope-from karnajitw@gmail.com) Received: from mail-qt0-x22f.google.com (mail-qt0-x22f.google.com [IPv6:2607:f8b0:400d:c0d::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A8C8B1F99 for ; Wed, 24 May 2017 09:22:48 +0000 (UTC) (envelope-from karnajitw@gmail.com) Received: by mail-qt0-x22f.google.com with SMTP id f55so149791537qta.3 for ; Wed, 24 May 2017 02:22:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ZVUPQHk6r+aZVjELLrZxFvh7XE+x1Md170O/D79BC/w=; b=L0mUd9gm5KwfD5cMx4rc+l0P2K/B+GEuNpCFSdIUj9c2JQKlwsKEVmGXlHzuy7AvMg IcpZLKfd7Wn7OPIQR2iT1fBGuN1kH0AFOsiT38zEPT+2wBDl/jkRN/ZSzrBFAW/aQvoJ CMnXEqUt3o5BwzAujh+EYaR8Ji1aSbCwR70dRYLsqcwIOVyDp1BfzJY+j9raMJAgnbyG qzXn4IUETnO230gqe2ELuU07uYfqTrK8xvOSEGVfNQs6ZGEnS4z2u1pb+K8FhOcop6Cc N/LwHpRizdK4XfcO2FATu/VT/QO4QH9kh+vstTGYcbnY7tGua4gwYPd7k4u8wxFOfkQ4 4vGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ZVUPQHk6r+aZVjELLrZxFvh7XE+x1Md170O/D79BC/w=; b=dH6SeebP+GvdOAKKwjITXjKHoCG915JtbOJbaeuaa0o3Ie59sQZYznZYZUMR0UoWqZ g/JOq/swrazigodAFZUa/Ja4kdC5qPIgizG2gfgdQoUWLol8t+toX0kGiPGGk4lAM66w ImFF07UqGOvkenWBYQL498RDk/J9SiTThz5t2vzlXBY9lfVx857RTWmbNlc4MPEIOmqz T4lB2D+BqGETN39M14FNUiOifYm/fE+ZR4m6xY/WQT3zNPGRkQhvr/dw3ALoRXQW+GLP 5XqF8qT9zssw5NA86ImKGpEZPYjntPhTXcysr2MH+8/DySaXRiSCwLs5/trbIsWtLENp ebfA== X-Gm-Message-State: AODbwcD0YJNDitaiZyKTdERFTaz6EcXvFUdIrusO2hRq+TFO9/yB1QhQ ZS3Dw54/dJFeTTqpv/Keo3VO7JCoNg== X-Received: by 10.200.34.132 with SMTP id f4mr32076370qta.183.1495617767881; Wed, 24 May 2017 02:22:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.49.85 with HTTP; Wed, 24 May 2017 02:22:47 -0700 (PDT) In-Reply-To: <20170523140601.GD1622@kib.kiev.ua> References: <20170523140601.GD1622@kib.kiev.ua> From: karnajit wangkhem Date: Wed, 24 May 2017 14:52:47 +0530 Message-ID: Subject: Re: Seventh argument seen in mmap on i386 To: Konstantin Belousov Cc: freebsd-hackers@freebsd.org X-Mailman-Approved-At: Wed, 24 May 2017 12:00:13 +0000 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 May 2017 09:22:49 -0000 Thanks. That was helpful. On Tue, May 23, 2017 at 7:36 PM, Konstantin Belousov wrote: > On Tue, May 23, 2017 at 07:25:07PM +0530, karnajit wangkhem wrote: > > Hi All, > > > > > > > > I am trying to understand this scenario where a seventh argument is seen > in > > case of freebsd.x-i386. As per the mmap man page, the libc function > > prototype takes in 6 arguments. > > > > > > Ktrace shows the following > > > > // Freebsd-11.0 ??? i386 box > > > > 44416 a.out CALL > > mmap(0,0x1000,0x7,0x1002< > MAP_PRIVATE|MAP_ANON>,0xffffffff,0,0) > > > > 44416 a.out RET mmap 671535104/0x2806d000 > > > > > > > > // Freebsd-11.0 ??? amd64 box > > > > 366 a.out CALL > > mmap(0,0x1000,0x7,0x1002< > MAP_PRIVATE|MAP_ANON>,0xffffffff,0) > > > > 366 a.out RET mmap 34366287872/0x80063f000 > > > > > > > > Also, the disassemble code show that an extra argument was pushed in i386 > > case > > > > > > > > -> 0x80485e6 <+38>: movl %esp, %ebx > > > > 0x80485e8 <+40>: movl $0x0, 0x18(%ebx) > > > > 0x80485ef <+47>: movl $0x0, 0x14(%ebx) > > > > 0x80485f6 <+54>: movl $0xffffffff, 0x10(%ebx) ; imm = 0xFFFFFFFF > > > > 0x80485fd <+61>: movl $0x1002, 0xc(%ebx) ; imm = 0x1002 > > > > 0x8048604 <+68>: movl $0x7, 0x8(%ebx) > > > > 0x804860b <+75>: movl $0x1000, 0x4(%ebx) ; imm = 0x1000 > > > > 0x8048612 <+82>: movl $0x0, (%ebx) > > > > > > > > > > > > Please help me understand why this extra argument is seen in case of > i386. > > off_t is 64bit. It is not seventh arg, it is offset which takes two words. >