Linux assembly list
 help / color / mirror / Atom feed
From: Frank Kotler <fbkotler@verizon.net>
To: Kircsi Tibor <tkircsi@gmail.com>
Cc: linux-assembly@vger.kernel.org
Subject: Re: Current break round up
Date: Wed, 01 Oct 2008 16:27:29 -0400	[thread overview]
Message-ID: <48E3DD31.5030300@verizon.net> (raw)
In-Reply-To: <1222887805.9248.15.camel@kirilla-desktop>

Kircsi Tibor wrote:
> Hi,
> 
> I may have misunderstood what you wrote, but I took a probe: (debugged
> with cgdb)
> 
> .include "../sharedlibs/linux.s"
> 
> .section .text
>         .globl  _start
> _start:
>         movl    %esp, %ebp
> 
>         # 1st brk call
>         movl    $0, %ebx                # %ebx = 0, get the current
> curret_break
>         movl    $SYS_BRK, %eax
>         int     $INT                    # %eax = address of
> current_break
> 
>         # 2nd brk call
>         addl    $0x1002, %eax           # add 4098 to current
> current_break
>         movl    %eax, %ebx              # %ebx = the address of the new
> current_break
>         movl    $SYS_BRK, %eax
>         int     $INT
> 
>         # 3rd brk call
>         movl    $0, %ebx
>         movl    $SYS_BRK, %eax
>         int     $INT
> 
>         # 4th brk call
>         movl    $SYS_BRK, %eax
>         int     $INT
> 
>         # 5th brk call
>         movl    $SYS_BRK, %eax
>         int     $INT
> 
>         # sys_exit
>         movl    $0, %ebx                # set the return value of the
> program
>         movl    $SYS_EXIT, %eax
>         int     $INT
> 
> addresses:
> 1st - 0x8049000 it's OK, because linux loads programs into the 0x8048000
> virtual address space, so this is the first page
> 2nd - 0x804a002 not aligned to 0x804b000
> 3rd - 0x804a002 same
> 4th - same
> 5th - same
> 
> That's ok, after the 2nd brk I just always ask for the current break
> with %ebx = 0. So, it seems unaligned return after the 4th call too.

Hi Tibor,
(sorry I called you "Kircsi")
I didn't mean that sys_brk aligned itself "automatically" by repeated 
calls. I ASSume that, unseen in the "strace" output, %ebx is being 
aligned "by hand" to a page boundary before that last sys_brk.

>> Randall Hyde wrote:

BTW, Randy, I ASSumed that you intended to reply to the list. Ya gotta 
hit "reply all" or it goes just to the sender...

I don't disagree that sys_mmap (or sys_mmap2?) is a better bet for 
allocating memory, but it isn't much use for "exploring" sys_brk...

Best,
Frank



  reply	other threads:[~2008-10-01 20:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-30 19:26 Current break round up Kircsi Tibor
2008-10-01 13:43 ` Frank Kotler
2008-10-01 14:40   ` Tibor Kircsi
     [not found]   ` <61990392562924881677723846250054653396-Webmail2@me.com>
2008-10-01 18:22     ` Frank Kotler
2008-10-01 19:03       ` Kircsi Tibor
2008-10-01 20:27         ` Frank Kotler [this message]
2008-10-02  7:27           ` Tibor Kircsi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48E3DD31.5030300@verizon.net \
    --to=fbkotler@verizon.net \
    --cc=linux-assembly@vger.kernel.org \
    --cc=tkircsi@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox