diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-02-26 11:57:01 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-02-26 11:57:01 +0000 |
commit | a76f10b544b4ffe4b0aaf41eede1aeb9b13a95e8 (patch) | |
tree | a41295eaee4b3f28a6e20df4e592ffacc42ac4ab /editors | |
parent | 15c0b725849875c718b168a26e13872e163cde4c (diff) | |
download | busybox-w32-a76f10b544b4ffe4b0aaf41eede1aeb9b13a95e8.tar.gz busybox-w32-a76f10b544b4ffe4b0aaf41eede1aeb9b13a95e8.tar.bz2 busybox-w32-a76f10b544b4ffe4b0aaf41eede1aeb9b13a95e8.zip |
Apply post-1.13.2 fixes, bump version to 1.13.3
Diffstat (limited to 'editors')
-rw-r--r-- | editors/awk.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/editors/awk.c b/editors/awk.c index 1d0792e19..64371f060 100644 --- a/editors/awk.c +++ b/editors/awk.c | |||
@@ -392,8 +392,12 @@ static const uint16_t PRIMES[] ALIGN2 = { 251, 1021, 4093, 16381, 65521 }; | |||
392 | 392 | ||
393 | 393 | ||
394 | /* Globals. Split in two parts so that first one is addressed | 394 | /* Globals. Split in two parts so that first one is addressed |
395 | * with (mostly short) negative offsets */ | 395 | * with (mostly short) negative offsets. |
396 | * NB: it's unsafe to put members of type "double" | ||
397 | * into globals2 (gcc may fail to align them). | ||
398 | */ | ||
396 | struct globals { | 399 | struct globals { |
400 | double t_double; | ||
397 | chain beginseq, mainseq, endseq; | 401 | chain beginseq, mainseq, endseq; |
398 | chain *seq; | 402 | chain *seq; |
399 | node *break_ptr, *continue_ptr; | 403 | node *break_ptr, *continue_ptr; |
@@ -442,16 +446,16 @@ struct globals2 { | |||
442 | tsplitter exec_builtin__tspl; | 446 | tsplitter exec_builtin__tspl; |
443 | 447 | ||
444 | /* biggest and least used members go last */ | 448 | /* biggest and least used members go last */ |
445 | double t_double; | ||
446 | tsplitter fsplitter, rsplitter; | 449 | tsplitter fsplitter, rsplitter; |
447 | }; | 450 | }; |
448 | #define G1 (ptr_to_globals[-1]) | 451 | #define G1 (ptr_to_globals[-1]) |
449 | #define G (*(struct globals2 *)ptr_to_globals) | 452 | #define G (*(struct globals2 *)ptr_to_globals) |
450 | /* For debug. nm --size-sort awk.o | grep -vi ' [tr] ' */ | 453 | /* For debug. nm --size-sort awk.o | grep -vi ' [tr] ' */ |
451 | /* char G1size[sizeof(G1)]; - 0x6c */ | 454 | /*char G1size[sizeof(G1)]; - 0x74 */ |
452 | /* char Gsize[sizeof(G)]; - 0x1cc */ | 455 | /*char Gsize[sizeof(G)]; - 0x1c4 */ |
453 | /* Trying to keep most of members accessible with short offsets: */ | 456 | /* Trying to keep most of members accessible with short offsets: */ |
454 | /* char Gofs_seed[offsetof(struct globals2, evaluate__seed)]; - 0x90 */ | 457 | /*char Gofs_seed[offsetof(struct globals2, evaluate__seed)]; - 0x90 */ |
458 | #define t_double (G1.t_double ) | ||
455 | #define beginseq (G1.beginseq ) | 459 | #define beginseq (G1.beginseq ) |
456 | #define mainseq (G1.mainseq ) | 460 | #define mainseq (G1.mainseq ) |
457 | #define endseq (G1.endseq ) | 461 | #define endseq (G1.endseq ) |
@@ -479,7 +483,6 @@ struct globals2 { | |||
479 | #define t_info (G.t_info ) | 483 | #define t_info (G.t_info ) |
480 | #define t_tclass (G.t_tclass ) | 484 | #define t_tclass (G.t_tclass ) |
481 | #define t_string (G.t_string ) | 485 | #define t_string (G.t_string ) |
482 | #define t_double (G.t_double ) | ||
483 | #define t_lineno (G.t_lineno ) | 486 | #define t_lineno (G.t_lineno ) |
484 | #define t_rollback (G.t_rollback ) | 487 | #define t_rollback (G.t_rollback ) |
485 | #define intvar (G.intvar ) | 488 | #define intvar (G.intvar ) |