dcavalca / rpms / qemu

Forked from rpms/qemu a year ago
Clone

058342 Clean up binfmt.d configuration files

Authored and Committed by Nathaniel McCallum 7 years ago
    Clean up binfmt.d configuration files
    
    In particular, I performed the following changes:
    
    1. Add the (missing) aarch64 configuration.
    
    2. Mask out e_ident[EI_OSABI]. A single OS can have multiple values
       here. We just pass them all to qemu. I personally ran into this issue
       (where filtering was too strict) on ppc64.
    
    3. Mask out e_ident[EI_ABIVERSION]. On Linux, this value is ignored.
    
    4. Mask out e_ident[EI_PAD]. The current check insists they are zero
       when they are, in fact, undefined.
    
    5. Don't mask any bits for e_ident[EI_VERSION]. We want an exact match
       on this since there has only ever been one version. However, alpha, i386
       and i486 were masking out the least significant bit.
    
    6. Don't mask any bits for e_ident[EI_DATA]. You can't mask out bits for
       endianness because it controls the byte order of later bytes in the
       binfmt match (starting at offset 0x10). So you can never have a rule
       which works with bits masked out on this field. However, alpha, i386 and
       i486 were masking out the least significant bit.
    
        
file modified
+23 -22
file modified
+7 -1