• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
      • X86isa
      • Axe
      • Execloader
        • Elf-reader
        • Mach-o-reader
          • Read-load_commands
          • Read-section_data_sz_structures
          • Mach-o-section-header
          • Mach-o-header
            • Mach-o-header-fix
            • Make-mach-o-header
            • Mach-o-header-equiv
            • Mach-o-header-p
            • Change-mach-o-header
              • Mach-o-header->reserved
              • Mach-o-header->sizeofcmds
              • Mach-o-header->filetype
              • Mach-o-header->cputype
              • Mach-o-header->cpusubtype
              • Mach-o-header->ncmds
              • Mach-o-header->magic
              • Mach-o-header->flags
            • Populate-mach-o-contents
            • Good-mach-o-p
            • Fill-data-segment-bytes
            • Fill-text-text-section-bytes
            • Fill-text-segment-bytes
            • Fill-text-cstring-section-bytes
            • Fill-text-const-section-bytes
            • Fill-data-dyld-section-bytes
            • Fill-data-data-section-bytes
            • Fill-data-const-section-bytes
            • Fill-data-common-section-bytes
            • Fill-data-bss-section-bytes
            • Read-mach_header
            • Populate-mach-o
            • Mach-o-section-headers
          • Merge-first-split-bytes
          • Split-bytes
          • Take-till-zero
          • Charlist->bytes
          • Merge-bytes
          • Bytes->charlist
          • String->bytes
          • Bytes->string
      • Math
      • Testing-utilities
    • Mach-o-header

    Change-mach-o-header

    Modifying constructor for mach-o-header structures.

    Syntax
    (change-mach-o-header x 
                          [:magic <magic>] 
                          [:cputype <cputype>] 
                          [:cpusubtype <cpusubtype>] 
                          [:filetype <filetype>] 
                          [:ncmds <ncmds>] 
                          [:sizeofcmds <sizeofcmds>] 
                          [:flags <flags>] 
                          [:reserved <reserved>]) 
    

    This is an often useful alternative to make-mach-o-header.

    We construct a new mach-o-header structure that is a copy of x, except that you can explicitly change some particular fields. Any fields you don't mention just keep their values from x.

    Definition

    This is an ordinary change- macro introduced by defprod.

    Macro: change-mach-o-header

    (defmacro change-mach-o-header (x &rest args)
      (std::change-aggregate 'mach-o-header
                             x args
                             '((:magic . mach-o-header->magic)
                               (:cputype . mach-o-header->cputype)
                               (:cpusubtype . mach-o-header->cpusubtype)
                               (:filetype . mach-o-header->filetype)
                               (:ncmds . mach-o-header->ncmds)
                               (:sizeofcmds . mach-o-header->sizeofcmds)
                               (:flags . mach-o-header->flags)
                               (:reserved . mach-o-header->reserved))
                             'change-mach-o-header
                             'nil))