Basic constructor macro for section-info structures.
(make-section-info [:header <header>] [:bytes <bytes>])
This is the usual way to construct section-info structures. It simply conses together a structure with the specified fields.
This macro generates a new section-info structure from scratch. See also change-section-info, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-section-info (&rest args) (std::make-aggregate 'section-info args '((:header make-elf-section-header) (:bytes quote nil)) 'make-section-info nil))
Function:
(defun section-info (header bytes) (declare (xargs :guard (and (elf-section-header-p header) (byte-listp bytes)))) (declare (xargs :guard t)) (let ((__function__ 'section-info)) (declare (ignorable __function__)) (b* ((header (mbe :logic (elf-section-header-fix header) :exec header)) (bytes (mbe :logic (acl2::byte-list-fix bytes) :exec bytes))) (list (cons 'header header) (cons 'bytes bytes)))))