From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 15 Jan 2007 23:33:03 +0200 From: sr@altlinux.ru To: ALT Devel discussion list Message-ID: <20070115213303.GA6086@osdn.org.ua> References: <20070115135934.GL30255@osdn.org.ua> <20070115141342.GA26404@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20070115141342.GA26404@basalt.office.altlinux.org> User-Agent: Mutt/1.4.2.1i Content-Transfer-Encoding: quoted-printable Subject: Re: [devel] q: glibc malloc s*cks? X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jan 2007 21:33:15 -0000 Archived-At: List-Archive: List-Post: On Mon, Jan 15, 2007 at 05:13:42PM +0300, Dmitry V. Levin wrote: > =F3=CB=C1=D6=C9=D4=C5 sr@, =DE=D4=CF glibc malloc =D5=D6=C5 =C4=C1=D7=CE= =CF =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4 mmap. > =F3=CD. =D4=D6. http://sourceware.org/ml/libc-alpha/2006-11/msg00061.ht= ml =E1=C7=C1=DD=C1=DA=C2=CC=C9=CE. $ echo "int main() { return malloc( 1) ? 0 : 1; }" > 1.c $ gcc 1.c $ strace ./a.out execve("./a.out", ["./a.out"], [/* 49 vars */]) =3D 0 brk(0) =3D 0x804a000 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or di= rectory) open("/etc/ld.so.cache", O_RDONLY) =3D 4 fstat64(4, {st_mode=3DS_IFREG|0644, st_size=3D62887, ...}) =3D 0 mmap2(NULL, 62887, PROT_READ, MAP_PRIVATE, 4, 0) =3D 0xb7f82000 close(4) =3D 0 open("/lib/libc.so.6", O_RDONLY) =3D 4 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\232b\1"..., 512)= =3D 512 fstat64(4, {st_mode=3DS_IFREG|0755, st_size=3D1167868, ...}) =3D 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)= =3D 0xb7f81000 mmap2(NULL, 1173764, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0= ) =3D 0xb7e62000 mmap2(0xb7f7b000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_= DENYWRITE, 4, 0x119) =3D 0xb7f7b000 mmap2(0xb7f7e000, 10500, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_= ANONYMOUS, -1, 0) =3D 0xb7f7e000 close(4) =3D 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)= =3D 0xb7e61000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e616c0, limit:104857= 5, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_p= resent:0, useable:1}) =3D 0 mprotect(0xb7f7b000, 4096, PROT_READ) =3D 0 munmap(0xb7f82000, 62887) =3D 0 brk(0) =3D 0x804a000 brk(0x806b000) =3D 0x806b000 exit_group(0) =3D ? Process 6119 detached $ rpm -q glibc glibc-2.5-alt3