1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
guile/module/system/vm
Andy Wingo c9e052be49 Fix linker bug that could fail to find the shstrtab
* module/system/vm/linker.scm (<linker-object>): Add name field.  This
  allows the linker to find sections by name, notably before having
  found the .shstrtab section.  As there can be multiple sections with
  type SHT_STRTAB, this fixes a bug whereby we could use a section
  name (a strtab index) into an unrelated strtab.  In the past this
  worked because with ASCII identifiers there won't be an exception,
  although it is possible to accidentally mistake a shared string tail;
  but with UTF-8 identifiers, it's possible for a string table index to
  point in the middle of a codepoint, which is likely not valid UTF-8
  and would raise a bug.  Keeping an additional section name field fixes
  this bug.  Adapt all callers to pass a name argument to
  make-linker-object.
  (find-shstrndx): Update to look at the name field.
* module/system/vm/assembler.scm (make-object): Pass name to
  make-linker-object.

Thanks to Daniel Llorens for the test case.
2018-10-08 10:08:33 +02:00
..
assembler.scm Fix linker bug that could fail to find the shstrtab 2018-10-08 10:08:33 +02:00
coverage.scm VM manages hook sets itself 2018-09-14 08:52:24 +02:00
debug.scm Rename gc-pointer-ref to pointer-ref 2018-01-14 13:40:05 +01:00
disassembler.scm Rework VM approach to shuffling unknown numbers of args 2018-07-20 11:42:30 +02:00
dwarf.scm Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
elf.scm elf: Add missing argument in 'elf-segment'. 2015-03-30 15:19:58 +02:00
frame.scm Remove push continuation hook; return hook runs before FP pop 2018-08-06 17:00:45 +02:00
inspect.scm Remove assembly language. 2013-11-08 16:45:10 +01:00
linker.scm Fix linker bug that could fail to find the shstrtab 2018-10-08 10:08:33 +02:00
loader.scm Rename objcodes?.{scm,c,h} to loader.{scm,c,h} 2013-11-19 21:45:07 +01:00
program.scm Add instrumentation to VM builtins 2018-08-17 08:50:33 +02:00
trace.scm Remove push continuation hook; return hook runs before FP pop 2018-08-06 17:00:45 +02:00
trap-state.scm No more VM objects visible to Scheme 2013-11-21 16:45:03 +01:00
traps.scm VM manages hook sets itself 2018-09-14 08:52:24 +02:00
vm.scm VM manages hook sets itself 2018-09-14 08:52:24 +02:00