summaryrefslogtreecommitdiff
path: root/binutils/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2011-10-11 15:56:27 +0000
committerNick Clifton <nickc@redhat.com>2011-10-11 15:56:27 +0000
commit1d73eefe2817e0ad82a902a26f8ca9ad46afc19b (patch)
treef794c8c1d4f5c00c4b523116bea964c578a99b09 /binutils/testsuite
parent066f3707e988b24f8f39d01f105662a814c0979a (diff)
downloadbinutils-redhat-1d73eefe2817e0ad82a902a26f8ca9ad46afc19b.tar.gz
PR binutils/13051
Fix a syntax error bug when compiling rc files with the VERSIONINFO resource containing more than one language block inside a single StringFileInfo block. * windint.h (rc_ver_stringtable): New structure definition. (rc_ver_info): Use it. * rcparse.y (verstringtable): New variable. (verstringtables): New type. (verstringtables:): New rule declaration. (verblocks:): Use it. * resrc.c (append_ver_stringtable): New function. (append_ver_stringfileinfo): Update to use stringtables. * windres.h (append_ver_stringfileinfo): Update declaration. (append_ver_stringtable): New declaration. * resrc.c (write_rc_versioninfo): Update to support multiple blocks. * resbin.c (bin_to_res_version): Likewise. (res_to_bin_versioninfo): Likewise. * binutils-all\windres\version.rsd: Regenerate. * binutils-all\windres\version_cat.rsd: Regenerate. * binutils-all\windres\version_mlang.rc: Add new test. * binutils-all\windres\version_mlang.rsd: Likewise.
Diffstat (limited to 'binutils/testsuite')
-rw-r--r--binutils/testsuite/ChangeLog8
-rw-r--r--binutils/testsuite/binutils-all/windres/version.rsd10
-rw-r--r--binutils/testsuite/binutils-all/windres/version_cat.rsd6
-rw-r--r--binutils/testsuite/binutils-all/windres/version_mlang.rc43
-rw-r--r--binutils/testsuite/binutils-all/windres/version_mlang.rsd87
5 files changed, 144 insertions, 10 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 1f3c1cf74d..d620d8e987 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2011-10-11 Chris <player1@onet.eu>
+
+ PR binutils/13051
+ * binutils-all\windres\version.rsd: Regenerate.
+ * binutils-all\windres\version_cat.rsd: Regenerate.
+ * binutils-all\windres\version_mlang.rc: Add new test.
+ * binutils-all\windres\version_mlang.rsd: Likewise.
+
2011-10-07 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/objdump.exp: Don't run dw2-decodedline.S on ia64.
diff --git a/binutils/testsuite/binutils-all/windres/version.rsd b/binutils/testsuite/binutils-all/windres/version.rsd
index 85dd5d3528..8ad479c122 100644
--- a/binutils/testsuite/binutils-all/windres/version.rsd
+++ b/binutils/testsuite/binutils-all/windres/version.rsd
@@ -1,7 +1,3 @@
-
-version.res: file format binary
-
-Contents of section .data:
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
0010 00000000 00000000 00000000 00000000 ................
0020 ec020000 20000000 ffff1000 ffff0100 .... ...........
@@ -12,9 +8,9 @@ Contents of section .data:
0070 00000100 01000000 00000100 01000000 ................
0080 3f000000 00000000 04000000 01000000 ?...............
0090 00000000 00000000 00000000 4c020000 ............L...
- 00a0 00005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
+ 00a0 01005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o...
- 00c0 28020000 00003000 34003000 37003000 (.....0.4.0.7.0.
+ 00c0 28020000 01003000 34003000 37003000 (.....0.4.0.7.0.
00d0 34006500 34000000 32000900 01004300 4.e.4...2.....C.
00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a.
00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u.
@@ -48,7 +44,7 @@ Contents of section .data:
02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o.
02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s.
02d0 69006f00 6e000000 31002e00 30002e00 i.o.n...1...0...
- 02e0 30002e00 31000000 44000000 00005600 0...1...D.....V.
+ 02e0 30002e00 31000000 44000000 01005600 0...1...D.....V.
02f0 61007200 46006900 6c006500 49006e00 a.r.F.i.l.e.I.n.
0300 66006f00 00000000 24000400 00005400 f.o.....$.....T.
0310 72006100 6e007300 6c006100 74006900 r.a.n.s.l.a.t.i.
diff --git a/binutils/testsuite/binutils-all/windres/version_cat.rsd b/binutils/testsuite/binutils-all/windres/version_cat.rsd
index 85dd5d3528..4e57512136 100644
--- a/binutils/testsuite/binutils-all/windres/version_cat.rsd
+++ b/binutils/testsuite/binutils-all/windres/version_cat.rsd
@@ -12,9 +12,9 @@ Contents of section .data:
0070 00000100 01000000 00000100 01000000 ................
0080 3f000000 00000000 04000000 01000000 ?...............
0090 00000000 00000000 00000000 4c020000 ............L...
- 00a0 00005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
+ 00a0 01005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o...
- 00c0 28020000 00003000 34003000 37003000 (.....0.4.0.7.0.
+ 00c0 28020000 01003000 34003000 37003000 (.....0.4.0.7.0.
00d0 34006500 34000000 32000900 01004300 4.e.4...2.....C.
00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a.
00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u.
@@ -48,7 +48,7 @@ Contents of section .data:
02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o.
02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s.
02d0 69006f00 6e000000 31002e00 30002e00 i.o.n...1...0...
- 02e0 30002e00 31000000 44000000 00005600 0...1...D.....V.
+ 02e0 30002e00 31000000 44000000 01005600 0...1...D.....V.
02f0 61007200 46006900 6c006500 49006e00 a.r.F.i.l.e.I.n.
0300 66006f00 00000000 24000400 00005400 f.o.....$.....T.
0310 72006100 6e007300 6c006100 74006900 r.a.n.s.l.a.t.i.
diff --git a/binutils/testsuite/binutils-all/windres/version_mlang.rc b/binutils/testsuite/binutils-all/windres/version_mlang.rc
new file mode 100644
index 0000000000..e796ca95d5
--- /dev/null
+++ b/binutils/testsuite/binutils-all/windres/version_mlang.rc
@@ -0,0 +1,43 @@
+#include "windows.h"
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "binutils"
+ VALUE "FileDescription", "RC compiler."
+ VALUE "FileVersion", "1.0.0.1"
+ VALUE "InternalName", "windres.exe"
+ VALUE "LegalCopyright", "(c) FSF. All rights are reserved."
+ VALUE "OriginalFilename", "windres.exe"
+ VALUE "ProductName", "windows resource compiler"
+ VALUE "ProductVersion", "1.0.0.1"
+ END
+ BLOCK "041504b0"
+ BEGIN
+ VALUE "CompanyName", "binutils"
+ VALUE "FileDescription", "Kompilator RC."
+ VALUE "FileVersion", "1.0.0.1"
+ VALUE "InternalName", "windres.exe"
+ VALUE "LegalCopyright", "(c) FSF. Wszystkie prawa zastrzezone."
+ VALUE "OriginalFilename", "windres.exe"
+ VALUE "ProductName", "windows resource compiler"
+ VALUE "ProductVersion", "1.0.0.1"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 0x04b0, 0x0415, 0x04b0
+ END
+END
diff --git a/binutils/testsuite/binutils-all/windres/version_mlang.rsd b/binutils/testsuite/binutils-all/windres/version_mlang.rsd
new file mode 100644
index 0000000000..05ed4883f2
--- /dev/null
+++ b/binutils/testsuite/binutils-all/windres/version_mlang.rsd
@@ -0,0 +1,87 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 24050000 20000000 ffff1000 ffff0100 $... ...........
+ 0030 00000000 00000000 00000000 00000000 ................
+ 0040 24053400 00005600 53005f00 56004500 $.4...V.S._.V.E.
+ 0050 52005300 49004f00 4e005f00 49004e00 R.S.I.O.N._.I.N.
+ 0060 46004f00 00000000 bd04effe 00000100 F.O.............
+ 0070 00000100 01000000 00000100 01000000 ................
+ 0080 3f000000 00000000 04000000 01000000 ?...............
+ 0090 00000000 00000000 00000000 80040000 ................
+ 00a0 01005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
+ 00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o...
+ 00c0 28020000 01003000 34003000 39003000 (.....0.4.0.9.0.
+ 00d0 34006200 30000000 32000900 01004300 4.b.0...2.....C.
+ 00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a.
+ 00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u.
+ 0100 74006900 6c007300 00000000 42000d00 t.i.l.s.....B...
+ 0110 01004600 69006c00 65004400 65007300 ..F.i.l.e.D.e.s.
+ 0120 63007200 69007000 74006900 6f006e00 c.r.i.p.t.i.o.n.
+ 0130 00000000 52004300 20006300 6f006d00 ....R.C. .c.o.m.
+ 0140 70006900 6c006500 72002e00 00000000 p.i.l.e.r.......
+ 0150 30000800 01004600 69006c00 65005600 0.....F.i.l.e.V.
+ 0160 65007200 73006900 6f006e00 00000000 e.r.s.i.o.n.....
+ 0170 31002e00 30002e00 30002e00 31000000 1...0...0...1...
+ 0180 38000c00 01004900 6e007400 65007200 8.....I.n.t.e.r.
+ 0190 6e006100 6c004e00 61006d00 65000000 n.a.l.N.a.m.e...
+ 01a0 77006900 6e006400 72006500 73002e00 w.i.n.d.r.e.s...
+ 01b0 65007800 65000000 68002200 01004c00 e.x.e...h."...L.
+ 01c0 65006700 61006c00 43006f00 70007900 e.g.a.l.C.o.p.y.
+ 01d0 72006900 67006800 74000000 28006300 r.i.g.h.t...(.c.
+ 01e0 29002000 46005300 46002e00 20004100 ). .F.S.F... .A.
+ 01f0 6c006c00 20007200 69006700 68007400 l.l. .r.i.g.h.t.
+ 0200 73002000 61007200 65002000 72006500 s. .a.r.e. .r.e.
+ 0210 73006500 72007600 65006400 2e000000 s.e.r.v.e.d.....
+ 0220 40000c00 01004f00 72006900 67006900 @.....O.r.i.g.i.
+ 0230 6e006100 6c004600 69006c00 65006e00 n.a.l.F.i.l.e.n.
+ 0240 61006d00 65000000 77006900 6e006400 a.m.e...w.i.n.d.
+ 0250 72006500 73002e00 65007800 65000000 r.e.s...e.x.e...
+ 0260 54001a00 01005000 72006f00 64007500 T.....P.r.o.d.u.
+ 0270 63007400 4e006100 6d006500 00000000 c.t.N.a.m.e.....
+ 0280 77006900 6e006400 6f007700 73002000 w.i.n.d.o.w.s. .
+ 0290 72006500 73006f00 75007200 63006500 r.e.s.o.u.r.c.e.
+ 02a0 20006300 6f006d00 70006900 6c006500 .c.o.m.p.i.l.e.
+ 02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o.
+ 02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s.
+ 02d0 69006f00 6e000000 31002e00 30002e00 i.o.n...1...0...
+ 02e0 30002e00 31000000 34020000 01003000 0...1...4.....0.
+ 02f0 34003100 35003000 34006200 30000000 4.1.5.0.4.b.0...
+ 0300 32000900 01004300 6f006d00 70006100 2.....C.o.m.p.a.
+ 0310 6e007900 4e006100 6d006500 00000000 n.y.N.a.m.e.....
+ 0320 62006900 6e007500 74006900 6c007300 b.i.n.u.t.i.l.s.
+ 0330 00000000 46000f00 01004600 69006c00 ....F.....F.i.l.
+ 0340 65004400 65007300 63007200 69007000 e.D.e.s.c.r.i.p.
+ 0350 74006900 6f006e00 00000000 4b006f00 t.i.o.n.....K.o.
+ 0360 6d007000 69006c00 61007400 6f007200 m.p.i.l.a.t.o.r.
+ 0370 20005200 43002e00 00000000 30000800 .R.C.......0...
+ 0380 01004600 69006c00 65005600 65007200 ..F.i.l.e.V.e.r.
+ 0390 73006900 6f006e00 00000000 31002e00 s.i.o.n.....1...
+ 03a0 30002e00 30002e00 31000000 38000c00 0...0...1...8...
+ 03b0 01004900 6e007400 65007200 6e006100 ..I.n.t.e.r.n.a.
+ 03c0 6c004e00 61006d00 65000000 77006900 l.N.a.m.e...w.i.
+ 03d0 6e006400 72006500 73002e00 65007800 n.d.r.e.s...e.x.
+ 03e0 65000000 70002600 01004c00 65006700 e...p.&...L.e.g.
+ 03f0 61006c00 43006f00 70007900 72006900 a.l.C.o.p.y.r.i.
+ 0400 67006800 74000000 28006300 29002000 g.h.t...(.c.). .
+ 0410 46005300 46002e00 20005700 73007a00 F.S.F... .W.s.z.
+ 0420 79007300 74006b00 69006500 20007000 y.s.t.k.i.e. .p.
+ 0430 72006100 77006100 20007a00 61007300 r.a.w.a. .z.a.s.
+ 0440 74007200 7a006500 7a006f00 6e006500 t.r.z.e.z.o.n.e.
+ 0450 2e000000 40000c00 01004f00 72006900 ....@.....O.r.i.
+ 0460 67006900 6e006100 6c004600 69006c00 g.i.n.a.l.F.i.l.
+ 0470 65006e00 61006d00 65000000 77006900 e.n.a.m.e...w.i.
+ 0480 6e006400 72006500 73002e00 65007800 n.d.r.e.s...e.x.
+ 0490 65000000 54001a00 01005000 72006f00 e...T.....P.r.o.
+ 04a0 64007500 63007400 4e006100 6d006500 d.u.c.t.N.a.m.e.
+ 04b0 00000000 77006900 6e006400 6f007700 ....w.i.n.d.o.w.
+ 04c0 73002000 72006500 73006f00 75007200 s. .r.e.s.o.u.r.
+ 04d0 63006500 20006300 6f006d00 70006900 c.e. .c.o.m.p.i.
+ 04e0 6c006500 72000000 34000800 01005000 l.e.r...4.....P.
+ 04f0 72006f00 64007500 63007400 56006500 r.o.d.u.c.t.V.e.
+ 0500 72007300 69006f00 6e000000 31002e00 r.s.i.o.n...1...
+ 0510 30002e00 30002e00 31000000 48000000 0...0...1...H...
+ 0520 01005600 61007200 46006900 6c006500 ..V.a.r.F.i.l.e.
+ 0530 49006e00 66006f00 00000000 28000800 I.n.f.o.....(...
+ 0540 00005400 72006100 6e007300 6c006100 ..T.r.a.n.s.l.a.
+ 0550 74006900 6f006e00 00000000 0904b004 t.i.o.n.........
+ 0560 1504b004 ....