diff --git a/test/MC/ARM/arm-elf-symver.s b/test/MC/ARM/arm-elf-symver.s index 0d141b7fd8a..f7c0288a88f 100644 --- a/test/MC/ARM/arm-elf-symver.s +++ b/test/MC/ARM/arm-elf-symver.s @@ -138,7 +138,7 @@ global1: @ CHECK-NEXT: Binding: Global (0x1) @ CHECK-NEXT: Type: None (0x0) @ CHECK-NEXT: Other: 0 -@ CHECK-NEXT: Section: (0x0) +@ CHECK-NEXT: Section: Undefined (0x0) @ CHECK-NEXT: } @ CHECK-NEXT: Symbol { @ CHECK-NEXT: Name: bar6@zed (66) @@ -147,6 +147,6 @@ global1: @ CHECK-NEXT: Binding: Global (0x1) @ CHECK-NEXT: Type: None (0x0) @ CHECK-NEXT: Other: 0 -@ CHECK-NEXT: Section: (0x0) +@ CHECK-NEXT: Section: Undefined (0x0) @ CHECK-NEXT: } @ CHECK-NEXT: ] diff --git a/test/MC/ELF/abs.s b/test/MC/ELF/abs.s index 1836f400597..4adf1cb56af 100644 --- a/test/MC/ELF/abs.s +++ b/test/MC/ELF/abs.s @@ -13,5 +13,5 @@ // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF1) +// CHECK-NEXT: Section: Absolute (0xFFF1) // CHECK-NEXT: } diff --git a/test/MC/ELF/alias-reloc.s b/test/MC/ELF/alias-reloc.s index 0ee73e9ca24..74930c63aeb 100644 --- a/test/MC/ELF/alias-reloc.s +++ b/test/MC/ELF/alias-reloc.s @@ -32,7 +32,7 @@ foo2: // CHECK-NEXT: Binding: Local (0x0) // CHECK-NEXT: Type: None (0x0) // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: bar diff --git a/test/MC/ELF/alias.s b/test/MC/ELF/alias.s index c532f7c02ca..2e65ace6ba1 100644 --- a/test/MC/ELF/alias.s +++ b/test/MC/ELF/alias.s @@ -28,7 +28,7 @@ bar5 = bar4 // CHECK-NEXT: Binding: Local (0x0) // CHECK-NEXT: Type: None (0x0) // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: bar @@ -109,6 +109,6 @@ bar5 = bar4 // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/test/MC/ELF/comdat.s b/test/MC/ELF/comdat.s index 3e4a001f05a..05d08e14816 100644 --- a/test/MC/ELF/comdat.s +++ b/test/MC/ELF/comdat.s @@ -74,7 +74,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } diff --git a/test/MC/ELF/common.s b/test/MC/ELF/common.s index 4fc2154d850..9cff927ba55 100644 --- a/test/MC/ELF/common.s +++ b/test/MC/ELF/common.s @@ -60,7 +60,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: Object // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF2) +// CHECK-NEXT: Section: Common (0xFFF2) // CHECK-NEXT: } @@ -82,7 +82,7 @@ foo: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: Object // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF2) +// CHECK-NEXT: Section: Common (0xFFF2) // CHECK-NEXT: } @@ -95,5 +95,5 @@ foo: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: Object // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF2) +// CHECK-NEXT: Section: Common (0xFFF2) // CHECK-NEXT: } diff --git a/test/MC/ELF/file-double.s b/test/MC/ELF/file-double.s index b0731e67ed0..f9b91edd6fe 100644 --- a/test/MC/ELF/file-double.s +++ b/test/MC/ELF/file-double.s @@ -17,7 +17,7 @@ bar.c: // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: File // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF1) +// CHECK-NEXT: Section: Absolute (0xFFF1) // CHECK-NEXT: } // CHECK: Name: bar.c (7) // CHECK-NEXT: Value: 0x0 @@ -25,7 +25,7 @@ bar.c: // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: File // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF1) +// CHECK-NEXT: Section: Absolute (0xFFF1) // CHECK-NEXT: } // CHECK: Symbol { // CHECK: Name: bar.c (7) diff --git a/test/MC/ELF/file.s b/test/MC/ELF/file.s index 7e287f7e3fa..6b6cb44e2b2 100644 --- a/test/MC/ELF/file.s +++ b/test/MC/ELF/file.s @@ -12,7 +12,7 @@ foa: // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: File // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF1) +// CHECK-NEXT: Section: Absolute (0xFFF1) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foa (5) diff --git a/test/MC/ELF/pic-diff.s b/test/MC/ELF/pic-diff.s index cffa0dd368e..30c92780f13 100644 --- a/test/MC/ELF/pic-diff.s +++ b/test/MC/ELF/pic-diff.s @@ -13,7 +13,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } .zero 4 diff --git a/test/MC/ELF/pr9292.s b/test/MC/ELF/pr9292.s index a6e78dc992a..a433650bc69 100644 --- a/test/MC/ELF/pr9292.s +++ b/test/MC/ELF/pr9292.s @@ -14,7 +14,7 @@ mov %eax,bar // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo (1) @@ -23,5 +23,5 @@ mov %eax,bar // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } diff --git a/test/MC/ELF/set.s b/test/MC/ELF/set.s index f6965a583a9..80e7e5380a7 100644 --- a/test/MC/ELF/set.s +++ b/test/MC/ELF/set.s @@ -11,7 +11,7 @@ // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF1) +// CHECK-NEXT: Section: Absolute (0xFFF1) // CHECK-NEXT: } // Test that we accept .set of a symbol after it has been used in a statement. @@ -32,5 +32,5 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } diff --git a/test/MC/ELF/symref.s b/test/MC/ELF/symref.s index c8015b96a31..737683bd407 100644 --- a/test/MC/ELF/symref.s +++ b/test/MC/ELF/symref.s @@ -128,7 +128,7 @@ global1: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: bar6@zed (57) @@ -137,6 +137,6 @@ global1: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/test/MC/ELF/tls-i386.s b/test/MC/ELF/tls-i386.s index 267046ef5bf..88e96ff6673 100644 --- a/test/MC/ELF/tls-i386.s +++ b/test/MC/ELF/tls-i386.s @@ -24,7 +24,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo2 (6) @@ -33,7 +33,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo3 (11) @@ -42,7 +42,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo4 (16) @@ -51,7 +51,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo5 (21) @@ -60,7 +60,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo6 (26) @@ -69,7 +69,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo7 (31) @@ -78,7 +78,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo8 (36) @@ -87,7 +87,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo9 (41) @@ -96,7 +96,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: fooA (46) @@ -105,7 +105,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: fooB (51) @@ -114,7 +114,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: fooC (56) @@ -123,7 +123,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: fooD (61) @@ -132,7 +132,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: fooE (66) @@ -141,5 +141,5 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } diff --git a/test/MC/ELF/tls.s b/test/MC/ELF/tls.s index c71e3962bb4..6d4b703ace4 100644 --- a/test/MC/ELF/tls.s +++ b/test/MC/ELF/tls.s @@ -29,7 +29,7 @@ foobar: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo2 (6) @@ -38,7 +38,7 @@ foobar: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo3 (11) @@ -47,7 +47,7 @@ foobar: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo4 (16) @@ -56,7 +56,7 @@ foobar: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo5 (21) @@ -65,7 +65,7 @@ foobar: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo6 (26) @@ -74,5 +74,5 @@ foobar: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: TLS // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } diff --git a/test/MC/ELF/type-propagate.s b/test/MC/ELF/type-propagate.s index feb9507a441..15d05af7f2f 100644 --- a/test/MC/ELF/type-propagate.s +++ b/test/MC/ELF/type-propagate.s @@ -84,7 +84,7 @@ sym10: // CHECK-NEXT: Binding: Local (0x0) // CHECK-NEXT: Type: None (0x0) // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF1) +// CHECK-NEXT: Section: Absolute (0xFFF1) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: sym07 @@ -93,7 +93,7 @@ sym10: // CHECK-NEXT: Binding: Local (0x0) // CHECK-NEXT: Type: None (0x0) // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0xFFF1) +// CHECK-NEXT: Section: Absolute (0xFFF1) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: sym08 diff --git a/test/MC/ELF/undef.s b/test/MC/ELF/undef.s index 0d89fb12936..7c2a876056d 100644 --- a/test/MC/ELF/undef.s +++ b/test/MC/ELF/undef.s @@ -34,6 +34,6 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: Object // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/test/MC/ELF/weak.s b/test/MC/ELF/weak.s index 943a46d03b3..99d427333d1 100644 --- a/test/MC/ELF/weak.s +++ b/test/MC/ELF/weak.s @@ -25,6 +25,6 @@ bar: // CHECK-NEXT: Binding: Weak // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/test/MC/ELF/weakref-reloc.s b/test/MC/ELF/weakref-reloc.s index 48bda8748fd..582c6946c60 100644 --- a/test/MC/ELF/weakref-reloc.s +++ b/test/MC/ELF/weakref-reloc.s @@ -22,7 +22,7 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo (1) @@ -31,7 +31,7 @@ // CHECK-NEXT: Binding: Weak // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: zed (5) @@ -40,5 +40,5 @@ // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } diff --git a/test/MC/ELF/weakref.s b/test/MC/ELF/weakref.s index 6c2d33397c8..cf2228d8f76 100644 --- a/test/MC/ELF/weakref.s +++ b/test/MC/ELF/weakref.s @@ -77,7 +77,7 @@ bar15: // CHECK-NEXT: Binding: Local (0x0) // CHECK-NEXT: Type: None (0x0) // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: bar6 (21) @@ -203,7 +203,7 @@ bar15: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: bar3 (6) @@ -212,7 +212,7 @@ bar15: // CHECK-NEXT: Binding: Weak // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: bar4 (11) @@ -221,7 +221,7 @@ bar15: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: bar5 (16) @@ -230,6 +230,6 @@ bar15: // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: (0x0) +// CHECK-NEXT: Section: Undefined (0x0) // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/test/Object/readobj-elf-versioning.test b/test/Object/readobj-elf-versioning.test index 1f09ef32a11..40852877457 100644 --- a/test/Object/readobj-elf-versioning.test +++ b/test/Object/readobj-elf-versioning.test @@ -33,7 +33,7 @@ ELF32: Symbol { ELF32: Name: puts@GLIBC_2.0 ELF32: Binding: Global ELF32: Type: Function -ELF32: Section: (0x0) +ELF32: Section: Undefined (0x0) ELF32: } ELF32: ] ELF64: DynamicSymbols [ @@ -41,6 +41,6 @@ ELF64: Symbol { ELF64: Name: puts@GLIBC_2.2.5 ELF64: Binding: Global ELF64: Type: Function -ELF64: Section: (0x0) +ELF64: Section: Undefined (0x0) ELF64: } ELF64: ] diff --git a/test/Object/readobj-shared-object.test b/test/Object/readobj-shared-object.test index 72dbd32ea9d..516d4c699e4 100644 --- a/test/Object/readobj-shared-object.test +++ b/test/Object/readobj-shared-object.test @@ -191,7 +191,7 @@ ELF: Symbol { ELF: Name: shared.ll ELF: Binding: Local ELF: Type: File -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: Symbol { ELF: Name: local_func @@ -203,13 +203,13 @@ ELF: Symbol { ELF: Name: _GLOBAL_OFFSET_TABLE_ ELF: Binding: Local ELF: Type: Object -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: Symbol { ELF: Name: _DYNAMIC ELF: Binding: Local ELF: Type: Object -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: Symbol { ELF: Name: common_sym @@ -233,13 +233,13 @@ ELF: Symbol { ELF: Name: __bss_start ELF: Binding: Global ELF: Type: None -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: Symbol { ELF: Name: _end ELF: Binding: Global ELF: Type: None -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: Symbol { ELF: Name: global_func @@ -251,7 +251,7 @@ ELF: Symbol { ELF: Name: _edata ELF: Binding: Global ELF: Type: None -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: ] @@ -278,13 +278,13 @@ ELF: Symbol { ELF: Name: __bss_start ELF: Binding: Global ELF: Type: None -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: Symbol { ELF: Name: _end ELF: Binding: Global ELF: Type: None -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: Symbol { ELF: Name: global_func @@ -296,7 +296,7 @@ ELF: Symbol { ELF: Name: _edata ELF: Binding: Global ELF: Type: None -ELF: Section: (0xFFF1) +ELF: Section: Absolute (0xFFF1) ELF: } ELF: ] diff --git a/test/Object/yaml2obj-elf-symbol-basic.yaml b/test/Object/yaml2obj-elf-symbol-basic.yaml index 3fb9b17655f..6d49ddd1c42 100644 --- a/test/Object/yaml2obj-elf-symbol-basic.yaml +++ b/test/Object/yaml2obj-elf-symbol-basic.yaml @@ -37,4 +37,4 @@ Symbols: # CHECK: Section: .text # CHECK: Symbol { # CHECK: Name: undefined_symbol -# CHECK: Section: (0x0) +# CHECK: Section: Undefined (0x0) diff --git a/test/tools/llvm-readobj/symbols.test b/test/tools/llvm-readobj/symbols.test index e427bdc8d97..26830ac46a8 100644 --- a/test/tools/llvm-readobj/symbols.test +++ b/test/tools/llvm-readobj/symbols.test @@ -49,7 +49,7 @@ ELF-NEXT: Size: 0 ELF-NEXT: Binding: Local (0x0) ELF-NEXT: Type: None (0x0) ELF-NEXT: Other: 0 -ELF-NEXT: Section: (0x0) +ELF-NEXT: Section: Undefined (0x0) ELF-NEXT: } ELF-NEXT: Symbol { ELF-NEXT: Name: trivial.ll (1) @@ -58,7 +58,7 @@ ELF-NEXT: Size: 0 ELF-NEXT: Binding: Local (0x0) ELF-NEXT: Type: File (0x4) ELF-NEXT: Other: 0 -ELF-NEXT: Section: (0xFFF1) +ELF-NEXT: Section: Absolute (0xFFF1) ELF-NEXT: } ELF-NEXT: Symbol { ELF-NEXT: Name: .L.str (39) diff --git a/tools/llvm-readobj/ELFDumper.cpp b/tools/llvm-readobj/ELFDumper.cpp index e4532a5476e..94b76d00e79 100644 --- a/tools/llvm-readobj/ELFDumper.cpp +++ b/tools/llvm-readobj/ELFDumper.cpp @@ -625,8 +625,28 @@ void ELFDumper::printDynamicSymbols() { template void ELFDumper::printSymbol(typename ELFO::Elf_Sym_Iter Symbol) { StringRef SymbolName = errorOrDefault(Obj->getSymbolName(Symbol)); - const Elf_Shdr *Sec = Obj->getSection(&*Symbol); - StringRef SectionName = Sec ? errorOrDefault(Obj->getSectionName(Sec)) : ""; + + unsigned SectionIndex = Obj->getSymbolTableIndex(&*Symbol); + StringRef SectionName; + if (SectionIndex == SHN_UNDEF) { + SectionName = "Undefined"; + } else if (SectionIndex >= SHN_LOPROC && SectionIndex <= SHN_HIPROC) { + SectionName = "Processor Specific"; + } else if (SectionIndex >= SHN_LOOS && SectionIndex <= SHN_HIOS) { + SectionName = "Operating System Specific"; + } else if (SectionIndex > SHN_HIOS && SectionIndex < SHN_ABS) { + SectionName = "Reserved"; + } else if (SectionIndex == SHN_ABS) { + SectionName = "Absolute"; + } else if (SectionIndex == SHN_COMMON) { + SectionName = "Common"; + } else { + assert(SectionIndex != SHN_XINDEX && + "getSymbolTableIndex should handle this"); + const Elf_Shdr *Sec = Obj->getSection(SectionIndex); + SectionName = errorOrDefault(Obj->getSectionName(Sec)); + } + std::string FullSymbolName(SymbolName); if (Symbol.isDynamic()) { bool IsDefault;