expand documentation

This commit is contained in:
Denis Vlasenko 2007-03-19 16:04:11 +00:00
parent be862096c0
commit 3d101dd467

View File

@ -125,3 +125,32 @@ less readable, use #defines:
If applet doesn't use much of global data, converting it to use
one of above methods is not worth the resulting code obfuscation.
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.