> On Mar 25, 2015, at 8:47 PM, Matthew Hall <[email protected]> wrote: > > On Mar 25, 2015, at 11:48 AM, D'Alessandro, Luke K <[email protected]> > wrote: >> When we compile jemalloc for debugging purposes, we see realloc using a >> large amount of stack space: >> >> ```asm >> 0000000000070e48 <realloc>: >> 70e48: 55 push %rbp >> 70e49: 48 89 e5 mov %rsp,%rbp >> 70e4c: 53 push %rbx >> 70e4d: 48 81 ec 68 62 00 00 sub $0x6268,%rsp >> ``` > > I think perhaps we can do a little better on narrowing this down especially > given you said that it occurs in -O0 mode. > > If you dump this code using objdump -C -d -l, it will try to find the file > name and line number from the debug symbols, and annotate the assembly with > these. > > Can you give it a try and search for the 0x6268 and scroll up from there to > find the nearest lines of code to the issue?
Sure, hope this is what you’re after: 0000000000070e48 <realloc>: realloc(): /u/ldalessa/jemalloc/src/jemalloc.c:1738 70e48: 55 push %rbp 70e49: 48 89 e5 mov %rsp,%rbp 70e4c: 53 push %rbx 70e4d: 48 81 ec 68 62 00 00 sub $0x6268,%rsp 70e54: 48 89 bd a8 9d ff ff mov %rdi,-0x6258(%rbp) 70e5b: 48 89 b5 a0 9d ff ff mov %rsi,-0x6260(%rbp) /u/ldalessa/jemalloc/src/jemalloc.c:1740 70e62: 48 c7 85 60 9e ff ff movq $0x0,-0x61a0(%rbp) 70e69: 00 00 00 00 /u/ldalessa/jemalloc/src/jemalloc.c:1741 70e6d: 48 c7 85 58 9e ff ff movq $0x0,-0x61a8(%rbp) 70e74: 00 00 00 00 /u/ldalessa/jemalloc/src/jemalloc.c:1742 70e78: 48 c7 45 e0 00 00 00 movq $0x0,-0x20(%rbp) 70e7f: 00 /u/ldalessa/jemalloc/src/jemalloc.c:1743 70e80: 48 c7 45 d8 00 00 00 movq $0x0,-0x28(%rbp) 70e87: 00 /u/ldalessa/jemalloc/src/jemalloc.c:1745 70e88: 48 83 bd a0 9d ff ff cmpq $0x0,-0x6260(%rbp) 70e8f: 00 70e90: 0f 94 c0 sete %al 70e93: 0f b6 c0 movzbl %al,%eax 70e96: 48 85 c0 test %rax,%rax 70e99: 0f 84 74 04 00 00 je 71313 <realloc+0x4cb> /u/ldalessa/jemalloc/src/jemalloc.c:1746 70e9f: 48 83 bd a8 9d ff ff cmpq $0x0,-0x6258(%rbp) 70ea6: 00 70ea7: 0f 84 5b 04 00 00 je 71308 <realloc+0x4c0> je_tsd_get(): > Apologies if you already tried this and it didn't work. It helped me in the > past. No, I’m not an expert objdump user. Normally just -S things or read LLVM IR, but this file is so big that I didn’t want to do that if possible. Luke _______________________________________________ jemalloc-discuss mailing list [email protected] http://www.canonware.com/mailman/listinfo/jemalloc-discuss
