mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-09 21:40:33 +02:00
fix linker.test
* test-suite/tests/linker.test (link-elf-with-one-main-section): Fix test after string table change.
This commit is contained in:
parent
c4c098e355
commit
4828538940
1 changed files with 6 additions and 12 deletions
|
@ -24,15 +24,9 @@
|
||||||
#:use-module (system vm linker))
|
#:use-module (system vm linker))
|
||||||
|
|
||||||
(define (link-elf-with-one-main-section name bytes)
|
(define (link-elf-with-one-main-section name bytes)
|
||||||
(let ((string-table (make-string-table)))
|
(let ((strtab (make-string-table)))
|
||||||
(define (intern-string! string)
|
|
||||||
(call-with-values
|
|
||||||
(lambda () (string-table-intern string-table string))
|
|
||||||
(lambda (table idx)
|
|
||||||
(set! string-table table)
|
|
||||||
idx)))
|
|
||||||
(define (make-object index name bv relocs . kwargs)
|
(define (make-object index name bv relocs . kwargs)
|
||||||
(let ((name-idx (intern-string! (symbol->string name))))
|
(let ((name-idx (string-table-intern! strtab (symbol->string name))))
|
||||||
(make-linker-object (apply make-elf-section
|
(make-linker-object (apply make-elf-section
|
||||||
#:index index
|
#:index index
|
||||||
#:name name-idx
|
#:name name-idx
|
||||||
|
@ -40,16 +34,16 @@
|
||||||
kwargs)
|
kwargs)
|
||||||
bv relocs
|
bv relocs
|
||||||
(list (make-linker-symbol name 0)))))
|
(list (make-linker-symbol name 0)))))
|
||||||
(define (make-string-table)
|
(define (make-shstrtab)
|
||||||
(intern-string! ".shstrtab")
|
(string-table-intern! strtab ".shstrtab")
|
||||||
(make-object 2 '.shstrtab (link-string-table string-table) '()
|
(make-object 2 '.shstrtab (link-string-table! strtab) '()
|
||||||
#:type SHT_STRTAB #:flags 0))
|
#:type SHT_STRTAB #:flags 0))
|
||||||
(let* ((word-size (target-word-size))
|
(let* ((word-size (target-word-size))
|
||||||
(endianness (target-endianness))
|
(endianness (target-endianness))
|
||||||
(sec (make-object 1 name bytes '()))
|
(sec (make-object 1 name bytes '()))
|
||||||
;; This needs to be linked last, because linking other
|
;; This needs to be linked last, because linking other
|
||||||
;; sections adds entries to the string table.
|
;; sections adds entries to the string table.
|
||||||
(shstrtab (make-string-table)))
|
(shstrtab (make-shstrtab)))
|
||||||
(link-elf (list sec shstrtab)
|
(link-elf (list sec shstrtab)
|
||||||
#:endianness endianness #:word-size word-size))))
|
#:endianness endianness #:word-size word-size))))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue