Re: Current break round up

"Tibor Kircsi" <[email protected]>
Newsgroups gmane.linux.assembly
Message-ID <[email protected]>
Hi Frank,

Thanks. I think, I understand. But, It is a question yet, it is a bug
or by design, that sys_brk doesn't round up current break to page
boundary. I'll try and inspect how sys_mmap works.

Thanks for your suggestion.

regards,
Tibor

On Wed, Oct 1, 2008 at 10:27 PM, Frank Kotler <[email protected]> wrote:
> 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
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-assembly" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.