| OLD | NEW |
| 1 // Copyright 2012 Google Inc. All Rights Reserved. | 1 // Copyright 2012 Google Inc. All Rights Reserved. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 struct PdbFixup { | 282 struct PdbFixup { |
| 283 enum Type { | 283 enum Type { |
| 284 TYPE_ABSOLUTE = 0x6, | 284 TYPE_ABSOLUTE = 0x6, |
| 285 TYPE_RELATIVE = 0x7, | 285 TYPE_RELATIVE = 0x7, |
| 286 TYPE_OFFSET_32BIT = 0xB, | 286 TYPE_OFFSET_32BIT = 0xB, |
| 287 TYPE_OFFSET_8BIT = 0xD, | 287 TYPE_OFFSET_8BIT = 0xD, |
| 288 TYPE_PC_RELATIVE = 0x14, | 288 TYPE_PC_RELATIVE = 0x14, |
| 289 }; | 289 }; |
| 290 | 290 |
| 291 enum Flags { | 291 enum Flags { |
| 292 // Flag value that we observe for the TYPE_OFFSET_32BIT fixups produced by |
| 293 // VS2017. |
| 294 FLAG_OFFSET_32BIT_VS2017 = 0x2000, |
| 292 FLAG_IS_DATA = 0x4000, | 295 FLAG_IS_DATA = 0x4000, |
| 293 FLAG_REFERS_TO_CODE = 0x8000, | 296 FLAG_REFERS_TO_CODE = 0x8000, |
| 294 FLAG_UNKNOWN = 0x3fff, | 297 FLAG_UNKNOWN = 0x3fff, |
| 295 }; | 298 }; |
| 296 | 299 |
| 297 // The fixup header. | 300 // The fixup header. |
| 298 union { | 301 union { |
| 299 uint32_t header; | 302 uint32_t header; |
| 300 struct { | 303 struct { |
| 301 Type type:16; | 304 Type type:16; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 328 // address 'rva_location'. | 331 // address 'rva_location'. |
| 329 size_t size() const; | 332 size_t size() const; |
| 330 }; | 333 }; |
| 331 // We coerce a stream of bytes to this structure, so we require it to be | 334 // We coerce a stream of bytes to this structure, so we require it to be |
| 332 // exactly 12 bytes in size. | 335 // exactly 12 bytes in size. |
| 333 COMPILE_ASSERT_IS_POD_OF_SIZE(PdbFixup, 12); | 336 COMPILE_ASSERT_IS_POD_OF_SIZE(PdbFixup, 12); |
| 334 | 337 |
| 335 } // namespace pdb | 338 } // namespace pdb |
| 336 | 339 |
| 337 #endif // SYZYGY_PDB_PDB_DATA_H_ | 340 #endif // SYZYGY_PDB_PDB_DATA_H_ |
| OLD | NEW |