aboutsummaryrefslogtreecommitdiff
path: root/vendor/object/tests/round_trip/coff.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/object/tests/round_trip/coff.rs')
-rw-r--r--vendor/object/tests/round_trip/coff.rs56
1 files changed, 0 insertions, 56 deletions
diff --git a/vendor/object/tests/round_trip/coff.rs b/vendor/object/tests/round_trip/coff.rs
deleted file mode 100644
index 6785dc3..0000000
--- a/vendor/object/tests/round_trip/coff.rs
+++ /dev/null
@@ -1,56 +0,0 @@
-use object::read::{Object, ObjectSection};
-use object::{read, write};
-use object::{
- Architecture, BinaryFormat, Endianness, RelocationEncoding, RelocationKind, SymbolFlags,
- SymbolKind, SymbolScope,
-};
-
-#[test]
-fn reloc_overflow() {
- let mut object =
- write::Object::new(BinaryFormat::Coff, Architecture::X86_64, Endianness::Little);
- let text = object.section_id(write::StandardSection::Text);
- object.append_section_data(text, &[0; 4], 4);
- let symbol = object.add_symbol(write::Symbol {
- name: b"f".to_vec(),
- value: 0,
- size: 4,
- kind: SymbolKind::Text,
- scope: SymbolScope::Linkage,
- weak: false,
- section: write::SymbolSection::Section(text),
- flags: SymbolFlags::None,
- });
- for i in 0..0x10000 {
- object
- .add_relocation(
- text,
- write::Relocation {
- offset: i,
- size: 64,
- kind: RelocationKind::Absolute,
- encoding: RelocationEncoding::Generic,
- symbol,
- addend: 0,
- },
- )
- .unwrap();
- }
- let bytes = object.write().unwrap();
-
- //std::fs::write(&"reloc_overflow.o", &bytes).unwrap();
-
- let object = read::File::parse(&*bytes).unwrap();
- assert_eq!(object.format(), BinaryFormat::Coff);
- assert_eq!(object.architecture(), Architecture::X86_64);
-
- let section = object.sections().next().unwrap();
- assert_eq!(section.name(), Ok(".text"));
-
- let mut i = 0;
- for (offset, _relocation) in section.relocations() {
- assert_eq!(offset, i);
- i += 1;
- }
- assert_eq!(i, 0x10000);
-}