c - set_thread_area in strace -
using strace on program: strace outputs same extract output in debian , centos except set_thread_area. (the program's version same on both linuxes.)
why different ? there way output same on both linuxes ? can difference programmed in c ? package missing in debian/centos ?
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fb16c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 open("/dev/urandom", o_rdonly) = 3 read(3, "\242\177)", 3) = 3
set_thread_area(0xff9db33c) = 0
edit
first: centos i686
second: debian x64 compiled -m32
are asking reason addresses different, or why strace
formats output differently? if it's latter, suspect you're dealing 2 different versions of strace
, 1 possibly outdated. however, looks odd this:
set_thread_area(0xff9db33c) = 0
the address 0xff9db33c
not valid userspace address on i386. possible 1 of systems x86_64? explain different format, since set_thread_area
on i386 takes pointer struct ldt_desc
, while on x86_64 takes actual pointer value load thread register.
Comments
Post a Comment