1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-22 12:30:32 +02:00
guile/module/language
Andy Wingo 6756d265ed ELF refactor and consequent linker simplifications
* module/system/vm/elf.scm: Add commentary.
  (make-elf): Add a constructor similar to make-elf-segment and
  make-elf-section.
  (write-elf32-header, write-elf64-header, write-elf-header): Take an
  <elf> instead of all the fields separately.
  (<elf-segment>, <elf-section>): Add "index" property.  Adapt
  constructors accordingly.

* module/language/objcode/elf.scm (bytecode->elf): Arrange to set the
  section indexes when creating ELF sections.

* module/system/vm/linker.scm (fold-values): New helper.
  (alloc-segment, relocate-section-header): Arrange to set segment and
  section indexes.
  (find-shstrndx): New helper, replaces compute-sections-by-name.  Now
  that sections know their indexes, this is easier.
  (allocate-elf, write-elf): New helpers, factored out of link-elf.
  Easier now that sections have indexes.
  (link-elf): Simplify.  Check that the incoming objects have sensible
  numbers.

* test-suite/tests/linker.test: Update to set #:index on the linker
  objects.
2013-05-23 11:02:02 +02:00
..
assembly Merge remote-tracking branch 'origin/stable-2.0' 2013-01-31 11:52:42 +01:00
brainfuck rename <application> to <call> 2011-06-02 13:42:55 +02:00
bytecode Merge remote-tracking branch 'origin/stable-2.0' 2013-01-31 11:52:42 +01:00
ecmascript Merge remote-tracking branch 'origin/stable-2.0' 2013-01-31 11:52:42 +01:00
elisp length's argument is a sequence 2012-04-01 15:59:42 -04:00
glil remove language/glil/decompile-assembly.scm 2013-02-24 15:50:09 +01:00
objcode ELF refactor and consequent linker simplifications 2013-05-23 11:02:02 +02:00
scheme Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
tree-il Merge remote-tracking branch 'origin/stable-2.0' 2013-04-14 02:48:33 -04:00
value Add 'for-humans?' flag to <language> specifications. 2013-01-27 10:16:40 -05:00
assembly.scm silly "optimization" in (language assembly) 2011-05-05 11:43:12 +02:00
glil.scm prompt handlers are always inline 2010-02-19 15:30:34 +01:00
objcode.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il.scm Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00