On Mon, Aug 03, 2015 at 10:34:19PM +0200, Kai Wasserbäch wrote:
> > Could you point me to the source code that does the libelf calls to create
> > the ELF file? Maybe reading the source helps to figure out what might go
> > wrong. The stacktrace from the test doesn't immediately seem to give a
> > direct clue.
> 
> I think all the ELF stuff is encapsulated in
> <http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/radeon/radeon_elf_util.c>
> (and the header for that). The functions defined therein are called from
> <http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/radeonsi/si_shader.c>
> and
> <http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/radeonsi/si_compute.c>
> if I haven't missed something. Michel can probably spot any mistakes in this,
> therefore I CCed him on this message.
> 
> Let me know, if you need something else.

Thanks that was really helpful. It looks like the real problem is the
parsing of the relocation section. Would it be possible for you to dump
the ELF image that is being parsed in radeon/radeon_elf_util.c
(radeon_elf_read) Maybe just by adding the following just before the
elf_memory () call:
  int dfd = creat ("/tmp/dump.elf", 00755);
  write (dfd, elf_buffer, elf_size);
  close (dfd);
Given that ELF image I might be able to create a simpler reproducer using just
the libelf calls from radeon_elf_util.c and comparing the difference between
the old/new versions of libelf.

Thanks,

Mark


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to