Skip to content
  • Rui Ueyama's avatar
    [PECOFF] Improve /merge option handling. · 615b200c
    Rui Ueyama authored
    /MERGE option is a bit complicated for many reasons. Firstly, it takes both
    positive and negative arguments. That means we have to have one of three
    distinctive values (set, clear or unchange) for each permission bit. In this
    patch we represent the three values using two bitmasks.
    
    Secondly, the permissions specified by the parameter is bitwise or-ed with the
    default permissions of a section. There is an exception for that rule; if one
    of READ, WRITE or EXECUTE bit is specified, unspecified bits need to be
    cleared. (So if you specify only WRITE for example, the resulting section will
    not have WRITE nor EXECUTE bits.)
    
    Lastly, multiple /merge options are allowed.
    
    llvm-svn: 195882
    615b200c
Loading