Access the |EXLD|::|SIZE| field of a elf64_sym bit structure.
(elf64_sym->size x) → size
Function:
(defun elf64_sym->size (x) (declare (xargs :guard (elf64_sym-p x))) (mbe :logic (let ((x (elf64_sym-fix x))) (part-select x :low 128 :width 64)) :exec (the (unsigned-byte 64) (logand (the (unsigned-byte 64) 18446744073709551615) (the (unsigned-byte 64) (ash (the (unsigned-byte 192) x) -128))))))
Theorem:
(defthm elf_bits64-p-of-elf64_sym->size (b* ((size (elf64_sym->size x))) (elf_bits64-p size)) :rule-classes :rewrite)
Theorem:
(defthm elf64_sym->size-of-elf64_sym-fix-x (equal (elf64_sym->size (elf64_sym-fix x)) (elf64_sym->size x)))
Theorem:
(defthm elf64_sym->size-elf64_sym-equiv-congruence-on-x (implies (elf64_sym-equiv x x-equiv) (equal (elf64_sym->size x) (elf64_sym->size x-equiv))) :rule-classes :congruence)
Theorem:
(defthm elf64_sym->size-of-elf64_sym (equal (elf64_sym->size (elf64_sym name info other shndx value size)) (elf_bits64-fix size)))
Theorem:
(defthm elf64_sym->size-of-write-with-mask (implies (and (fty::bitstruct-read-over-write-hyps x elf64_sym-equiv-under-mask) (elf64_sym-equiv-under-mask x y fty::mask) (equal (logand (lognot fty::mask) 6277101735386680763495507056286727952638980837032266301440) 0)) (equal (elf64_sym->size x) (elf64_sym->size y))))