зеркало из https://github.com/mozilla/pjs.git
Fix generation of precompiled cmaps on 64-bit platforms to match what the code expects. (Bug 445626) r=smontagu
This commit is contained in:
Родитель
b4593fe765
Коммит
2cf6d4a1cd
|
@ -4309,7 +4309,7 @@
|
|||
// Precompiled CCMap for Little Endian(64bit)
|
||||
#define gIgnorableCCMapExt_SIZE 468
|
||||
#define gIgnorableCCMapExt_INITIALIZER \
|
||||
/* EXTFLG */ 0x0001,0x0000,0x0100,0x0000, \
|
||||
/* EXTFLG */ 0x0000,0x0000,0x0001,0x0100, \
|
||||
/* 000000 */ 0x0030,0x0080,0x00B0,0x0010,0x0010,0x0010,0x0010,0x0010, \
|
||||
0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x00D0, \
|
||||
/* 000010 */ 0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020, \
|
||||
|
@ -4561,7 +4561,7 @@
|
|||
// Precompiled CCMap for Big Endian(64bit)
|
||||
#define gIgnorableCCMapExt_SIZE 468
|
||||
#define gIgnorableCCMapExt_INITIALIZER \
|
||||
/* EXTFLG */ 0x0000,0x0001,0x0000,0x0100, \
|
||||
/* EXTFLG */ 0x0000,0x0000,0x0001,0x0100, \
|
||||
/* 000000 */ 0x0030,0x0080,0x00B0,0x0010,0x0010,0x0010,0x0010,0x0010, \
|
||||
0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x00D0, \
|
||||
/* 000010 */ 0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020, \
|
||||
|
|
|
@ -4406,7 +4406,7 @@
|
|||
// Precompiled CCMap for Little Endian(64bit)
|
||||
#define gIgnorableCCMapExt_SIZE 532
|
||||
#define gIgnorableCCMapExt_INITIALIZER \
|
||||
/* EXTFLG */ 0x0001,0x0000,0x0140,0x0000, \
|
||||
/* EXTFLG */ 0x0000,0x0000,0x0001,0x0140, \
|
||||
/* 000000 */ 0x0030,0x0090,0x00D0,0x00F0,0x0010,0x0010,0x0010,0x0010, \
|
||||
0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0110, \
|
||||
/* 000010 */ 0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020, \
|
||||
|
@ -4690,7 +4690,7 @@
|
|||
// Precompiled CCMap for Big Endian(64bit)
|
||||
#define gIgnorableCCMapExt_SIZE 532
|
||||
#define gIgnorableCCMapExt_INITIALIZER \
|
||||
/* EXTFLG */ 0x0000,0x0001,0x0000,0x0140, \
|
||||
/* EXTFLG */ 0x0000,0x0000,0x0001,0x0140, \
|
||||
/* 000000 */ 0x0030,0x0090,0x00D0,0x00F0,0x0010,0x0010,0x0010,0x0010, \
|
||||
0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0110, \
|
||||
/* 000010 */ 0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020, \
|
||||
|
|
|
@ -411,16 +411,16 @@ sub print_ccmap
|
|||
# This shuffling is NOT necessary for the upper pointer section
|
||||
# and mid-pointer sections.
|
||||
|
||||
# If non-BMP characters are presente, 16 plane indices
|
||||
# If non-BMP characters are present, 16 plane indices
|
||||
# (32bit integers stored in two 16bit shorts in
|
||||
# BE order) have to be treated differently based on the
|
||||
# the endianness as well.
|
||||
|
||||
# For BMP-only CCMap, 16BE CCMap is identical to LE CCMaps.
|
||||
# With non-BMP characters present, to avoid the misalignment on 64bit
|
||||
# machines, we have to store the ccmap flag (indicating whether the map
|
||||
# is extended or not) and the BMP map size in two 32bit integers instead of
|
||||
# two 16bit integers (bug 225340)
|
||||
# machines, we add two 16-bit units of 0-padding before the ccmap flag
|
||||
# (indicating whether the map is extended or not) and the BMP map size
|
||||
# (bug 225340, bug 445626).
|
||||
my @fmts = $is_ext ? ("64LE", "LE", "16BE", "32BE", "64BE") : ("LE", "32BE", "64BE") ;
|
||||
foreach my $fmt (@fmts)
|
||||
{
|
||||
|
@ -434,7 +434,7 @@ sub print_ccmap
|
|||
"// Precompiled CCMap for Little Endian(64bit)\n";
|
||||
printf OUT "#define ${variable}_SIZE %d\n", scalar @$ccmap_p + 2;
|
||||
printf OUT "#define ${variable}_INITIALIZER \\\n";
|
||||
printf OUT "/* EXTFLG */ 0x%04X,0x0000,0x%04X,0x0000, \\\n",
|
||||
printf OUT "/* EXTFLG */ 0x0000,0x0000,0x%04X,0x%04X, \\\n",
|
||||
$ccmap_p->[0], $ccmap_p->[1];
|
||||
last;
|
||||
};
|
||||
|
@ -488,7 +488,7 @@ sub print_ccmap
|
|||
($is_ext ? 2 : 0);
|
||||
printf OUT "#define ${variable}_INITIALIZER \\\n";
|
||||
if ($is_ext) {
|
||||
printf OUT "/* EXTFLG */ 0x0000,0x%04X,0x0000,0x%04X, \\\n",
|
||||
printf OUT "/* EXTFLG */ 0x0000,0x0000,0x%04X,0x%04X, \\\n",
|
||||
$ccmap_p->[0], $ccmap_p->[1];
|
||||
}
|
||||
last;
|
||||
|
|
|
@ -516,7 +516,7 @@
|
|||
// Precompiled CCMap for Little Endian(64bit)
|
||||
#define gPuncCharsCCMapExt_SIZE 804
|
||||
#define gPuncCharsCCMapExt_INITIALIZER \
|
||||
/* EXTFLG */ 0x0001,0x0000,0x0250,0x0000, \
|
||||
/* EXTFLG */ 0x0000,0x0000,0x0001,0x0250, \
|
||||
/* 000000 */ 0x0030,0x00D0,0x0160,0x01D0,0x0010,0x0010,0x0010,0x0010, \
|
||||
0x0010,0x0010,0x01F0,0x0010,0x0010,0x0010,0x0010,0x0210, \
|
||||
/* 000010 */ 0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020, \
|
||||
|
@ -936,7 +936,7 @@
|
|||
// Precompiled CCMap for Big Endian(64bit)
|
||||
#define gPuncCharsCCMapExt_SIZE 804
|
||||
#define gPuncCharsCCMapExt_INITIALIZER \
|
||||
/* EXTFLG */ 0x0000,0x0001,0x0000,0x0250, \
|
||||
/* EXTFLG */ 0x0000,0x0000,0x0001,0x0250, \
|
||||
/* 000000 */ 0x0030,0x00D0,0x0160,0x01D0,0x0010,0x0010,0x0010,0x0010, \
|
||||
0x0010,0x0010,0x01F0,0x0010,0x0010,0x0010,0x0010,0x0210, \
|
||||
/* 000010 */ 0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020, \
|
||||
|
|
Загрузка…
Ссылка в новой задаче