expand documentation

1_5_stable
Denis Vlasenko 2007-03-19 16:04:11 +00:00
parent be862096c0
commit 3d101dd467
1 changed files with 29 additions and 0 deletions

View File

@ -125,3 +125,32 @@ less readable, use #defines:
If applet doesn't use much of global data, converting it to use If applet doesn't use much of global data, converting it to use
one of above methods is not worth the resulting code obfuscation. one of above methods is not worth the resulting code obfuscation.
If you have less than ~300 bytes of global data - don't bother. If you have less than ~300 bytes of global data - don't bother.
gcc's data alignment problem
The following attribute added in vi.c:
static int tabstop;
static struct termios term_orig __attribute__ ((aligned (4)));
static struct termios term_vi __attribute__ ((aligned (4)));
reduced bss size by 32 bytes, because gcc sometimes aligns structures to
ridiculously large values. asm output diff for above example:
tabstop:
.zero 4
.section .bss.term_orig,"aw",@nobits
- .align 32
+ .align 4
.type term_orig, @object
.size term_orig, 60
term_orig:
.zero 60
.section .bss.term_vi,"aw",@nobits
- .align 32
+ .align 4
.type term_vi, @object
.size term_vi, 60
gcc doesn't seem to have options for altering this behaviour.