[PATCH] hurd: Add enough auxv support for AT_ENTRY for PIE binaries

Samuel Thibault samuel.thibault@ens-lyon.org
Thu Dec 28 21:27:00 GMT 2017


Hello,

Simon Marchi, on mer. 27 déc. 2017 21:19:12 -0500, wrote:
> If nobody has commented by the time we are
> ready to create the 8.1 branch (supposed to be in January), we'll
> merge it.  I'll add a note to the GDB 8.1 release wiki page [1] so
> we don't forget.  Does that sound good to you?

Sure.

> In the mean time, I'd like to add some details to the commit message
> about how this is expected to work.  The AT_ENTRY value set here
> will be read by the svr4_exec_displacement function, is that right?

Yes, here is the backtrace:

#0  gnu_xfer_partial (ops=0x867cb78, object=TARGET_OBJECT_AUXV, annex=0x0, readbuf=0x8787250 "", writebuf=0x0, offset=0, len=4096, xfered_len=0x28043e0) at ./gdb/gnu-nat.c:2615
#1  0x081f09a7 in target_xfer_partial (ops=0x863d440 <current_target>, object=TARGET_OBJECT_AUXV, annex=0x0, readbuf=0x8787250 "", writebuf=0x0, offset=0, len=<optimized out>, xfered_len=0x28043e0) at ./gdb/target.c:1374
#2  0x081f0e32 in target_read_partial (xfered_len=0x28043e0, len=4096, offset=0, buf=0x8787250 "", annex=0x0, object=TARGET_OBJECT_AUXV, ops=0x863d440 <current_target>) at ./gdb/target.c:1619
#3  target_read_alloc_1 (ops=0x863d440 <current_target>, object=TARGET_OBJECT_AUXV, annex=annex@entry=0x0, buf_p=0x87721e8, padding=0) at ./gdb/target.c:1988
#4  0x081f1f21 in target_read_alloc (ops=<optimized out>, object=<optimized out>, annex=0x0, buf_p=0x87721e8) at ./gdb/target.c:2029
#5  0x0812022f in get_auxv_inferior_data (ops=ops@entry=0x863d440 <current_target>) at ./gdb/auxv.c:362
#6  0x081206a1 in target_auxv_search (ops=0x863d440 <current_target>, match=9, valp=0x28044d0) at ./gdb/auxv.c:382
#7  0x08068c7f in svr4_exec_displacement (displacementp=<synthetic pointer>) at ./gdb/solib-svr4.c:2649
#8  svr4_relocate_main_executable () at ./gdb/solib-svr4.c:3031
#9  0x0806a828 in svr4_solib_create_inferior_hook (from_tty=0) at ./gdb/solib-svr4.c:3092
#10 0x0819490b in post_create_inferior (target=<optimized out>, from_tty=<optimized out>) at ./gdb/infcmd.c:445
#11 0x08194c5f in run_command_1 (args=<optimized out>, from_tty=1, tbreak_at_main=<optimized out>) at ./gdb/infcmd.c:631
...

Samuel



More information about the Gdb-patches mailing list