summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj
diff options
context:
space:
mode:
authorEric Beckmann <ecbeckmann@google.com>2017-05-08 02:47:07 +0000
committerEric Beckmann <ecbeckmann@google.com>2017-05-08 02:47:07 +0000
commitefef15a0c784839d179727afadc7352435e94a6c (patch)
tree2d431c39d0a4775769c0d76908b42630ac658137 /llvm/test/tools/llvm-readobj
parentd6f2639fd70f623c7f6119737428e4363b22c1ea (diff)
downloadbcm5719-llvm-efef15a0c784839d179727afadc7352435e94a6c.tar.gz
bcm5719-llvm-efef15a0c784839d179727afadc7352435e94a6c.zip
Update llvm-readobj -coff-resources to display tree structure.
Summary: Continue making updates to llvm-readobj to display resource sections. This is necessary for testing the up and coming cvtres tool. Reviewers: zturner Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32609 llvm-svn: 302399
Diffstat (limited to 'llvm/test/tools/llvm-readobj')
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/resources/cursor_small.bmpbin0 -> 822 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/resources/okay_small.bmpbin0 -> 822 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/resources/test_resource.rc44
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/resources/test_resource.resbin0 -> 2200 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/resources.test128
5 files changed, 154 insertions, 18 deletions
diff --git a/llvm/test/tools/llvm-readobj/Inputs/resources/cursor_small.bmp b/llvm/test/tools/llvm-readobj/Inputs/resources/cursor_small.bmp
new file mode 100644
index 00000000000..ce513261bc2
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/resources/cursor_small.bmp
Binary files differ
diff --git a/llvm/test/tools/llvm-readobj/Inputs/resources/okay_small.bmp b/llvm/test/tools/llvm-readobj/Inputs/resources/okay_small.bmp
new file mode 100644
index 00000000000..e4005bf5ef9
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/resources/okay_small.bmp
Binary files differ
diff --git a/llvm/test/tools/llvm-readobj/Inputs/resources/test_resource.rc b/llvm/test/tools/llvm-readobj/Inputs/resources/test_resource.rc
new file mode 100644
index 00000000000..fd616520dbe
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/resources/test_resource.rc
@@ -0,0 +1,44 @@
+#include "windows.h"
+
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+
+myaccelerators ACCELERATORS
+{
+ "^C", 999, VIRTKEY, ALT
+ "D", 1100, VIRTKEY, CONTROL, SHIFT
+ "^R", 444, ASCII, NOINVERT
+}
+
+cursor BITMAP "cursor_small.bmp"
+okay BITMAP "okay_small.bmp"
+
+14432 MENU
+LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
+{
+ MENUITEM "yu", 100
+ MENUITEM "shala", 101
+ MENUITEM "kaoya", 102
+}
+
+testdialog DIALOG 10, 10, 200, 300
+STYLE WS_POPUP | WS_BORDER
+CAPTION "Test"
+{
+ CTEXT "Continue:", 1, 10, 10, 230, 14
+ PUSHBUTTON "&OK", 2, 66, 134, 161, 13
+}
+
+12 ACCELERATORS
+{
+ "X", 164, VIRTKEY, ALT
+ "H", 5678, VIRTKEY, CONTROL, SHIFT
+ "^R", 444, ASCII, NOINVERT
+}
+
+"eat" MENU
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
+{
+ MENUITEM "fish", 100
+ MENUITEM "salad", 101
+ MENUITEM "duck", 102
+}
diff --git a/llvm/test/tools/llvm-readobj/Inputs/resources/test_resource.res b/llvm/test/tools/llvm-readobj/Inputs/resources/test_resource.res
new file mode 100644
index 00000000000..c577ecc3d63
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/resources/test_resource.res
Binary files differ
diff --git a/llvm/test/tools/llvm-readobj/resources.test b/llvm/test/tools/llvm-readobj/resources.test
index 46ee8b99a65..6e9e39d1720 100644
--- a/llvm/test/tools/llvm-readobj/resources.test
+++ b/llvm/test/tools/llvm-readobj/resources.test
@@ -1,19 +1,111 @@
-RUN: llvm-readobj -coff-resources %p/Inputs/zero-string-table.obj.coff-i386 \
-RUN: | FileCheck %s -check-prefix RESOURCE
+// Check dumping of the .rsrc section(s)
+// The input was generated with the following commands, using the original Windows
+// rc.exe and cvtres.exe:
+// > rc /fo test_resource.res /nologo test_resource.rc
+// > cvtres /machine:X86 /readonly /nologo /out:test_resource.o test_resource.res
-RESOURCE: Resources [
-RESOURCE-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
-RESOURCE-NEXT: .rsrc$01 Data (
-RESOURCE-NEXT: 0000: 00000000 00000000 00000000 00000100 |................|
-RESOURCE-NEXT: 0010: 06000000 18000080 00000000 00000000 |................|
-RESOURCE-NEXT: 0020: 00000000 00000100 01000000 30000080 |............0...|
-RESOURCE-NEXT: 0030: 00000000 00000000 00000000 00000100 |................|
-RESOURCE-NEXT: 0040: 09040000 48000000 00000000 2A000000 |....H.......*...|
-RESOURCE-NEXT: 0050: 00000000 00000000 |........|
-RESOURCE-NEXT: )
-RESOURCE-NEXT: .rsrc$02 Data (
-RESOURCE-NEXT: 0000: 00000500 48006500 6C006C00 6F000000 |....H.e.l.l.o...|
-RESOURCE-NEXT: 0010: 00000000 00000000 00000000 00000000 |................|
-RESOURCE-NEXT: 0020: 00000000 00000000 00000000 00000000 |................|
-RESOURCE-NEXT: )
-RESOURCE-NEXT: ]
+RUN: llvm-readobj -coff-resources -section-data %p/Inputs/zero-string-table.obj.coff-i386 \
+RUN: | FileCheck %s -check-prefix ZERO
+RUN: llvm-readobj -coff-resources %p/Inputs/resources/test_resource.o \
+RUN: | FileCheck %s -check-prefix TEST_RES
+
+ZERO: Resources [
+ZERO-NEXT: String Name Entries: 0
+ZERO-NEXT: ID Entries: 1
+ZERO-NEXT: Type: kRT_STRING (ID 6) [
+ZERO-NEXT: String Name Entries: 0
+ZERO-NEXT: ID Entries: 1
+ZERO-NEXT: Name: (ID 1) [
+ZERO-NEXT: String Name Entries: 0
+ZERO-NEXT: ID Entries: 1
+ZERO-NEXT: Language: (ID 1033) [
+ZERO-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+ZERO-NEXT: Major Version: 0
+ZERO-NEXT: Minor Version: 0
+ZERO-NEXT: ]
+ZERO-NEXT: ]
+ZERO-NEXT: ]
+
+
+TEST_RES: Resources [
+TEST_RES-NEXT: String Name Entries: 0
+TEST_RES-NEXT: ID Entries: 4
+TEST_RES-NEXT: Type: kRT_BITMAP (ID 2) [
+TEST_RES-NEXT: String Name Entries: 2
+TEST_RES-NEXT: ID Entries: 0
+TEST_RES-NEXT: Name: CURSOR [
+TEST_RES-NEXT: String Name Entries: 0
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Language: (ID 1033) [
+TEST_RES-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT: Major Version: 0
+TEST_RES-NEXT: Minor Version: 0
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: Name: OKAY [
+TEST_RES-NEXT: String Name Entries: 0
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Language: (ID 1033) [
+TEST_RES-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT: Major Version: 0
+TEST_RES-NEXT: Minor Version: 0
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: Type: kRT_MENU (ID 4) [
+TEST_RES-NEXT: String Name Entries: 1
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Name: "EAT" [
+TEST_RES-NEXT: String Name Entries: 0
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Language: (ID 3081) [
+TEST_RES-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT: Major Version: 0
+TEST_RES-NEXT: Minor Version: 0
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: Name: (ID 14432) [
+TEST_RES-NEXT: String Name Entries: 0
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Language: (ID 2052) [
+TEST_RES-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT: Major Version: 0
+TEST_RES-NEXT: Minor Version: 0
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: Type: kRT_DIALOG (ID 5) [
+TEST_RES-NEXT: String Name Entries: 1
+TEST_RES-NEXT: ID Entries: 0
+TEST_RES-NEXT: Name: TESTDIALOG [
+TEST_RES-NEXT: String Name Entries: 0
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Language: (ID 1033) [
+TEST_RES-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT: Major Version: 0
+TEST_RES-NEXT: Minor Version: 0
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: Type: kRT_ACCELERATOR (ID 9) [
+TEST_RES-NEXT: String Name Entries: 1
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Name: MYACCELERATORS [
+TEST_RES-NEXT: String Name Entries: 0
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Language: (ID 1033) [
+TEST_RES-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT: Major Version: 0
+TEST_RES-NEXT: Minor Version: 0
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: Name: (ID 12) [
+TEST_RES-NEXT: String Name Entries: 0
+TEST_RES-NEXT: ID Entries: 1
+TEST_RES-NEXT: Language: (ID 1033) [
+TEST_RES-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT: Major Version: 0
+TEST_RES-NEXT: Minor Version: 0
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
+TEST_RES-NEXT: ]
OpenPOWER on IntegriCloud