diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-08-12 20:58:27 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-08-12 20:58:27 +0000 |
| commit | 6ca409e0e4c198fe3081346eebbae3f068fe605a (patch) | |
| tree | 060cb05d99220a1eda399194d1209c269f0e8cd8 /include | |
| parent | 4185548984357df91311f30c8e43d95f33922576 (diff) | |
| download | busybox-w32-6ca409e0e4c198fe3081346eebbae3f068fe605a.tar.gz busybox-w32-6ca409e0e4c198fe3081346eebbae3f068fe605a.tar.bz2 busybox-w32-6ca409e0e4c198fe3081346eebbae3f068fe605a.zip | |
trylink: produce even more info about final link stage
trylink: explain how to modify link and drastically decrease amount
of padding (unfortunately, needs hand editing ATM).
*: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts
size saving: 0.5k
Diffstat (limited to 'include')
| -rw-r--r-- | include/platform.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/include/platform.h b/include/platform.h index dcdb5c8f7..ff23ca18c 100644 --- a/include/platform.h +++ b/include/platform.h | |||
| @@ -169,7 +169,7 @@ __extension__ typedef unsigned long long __u64; | |||
| 169 | # error "Sorry, this libc version is not supported :(" | 169 | # error "Sorry, this libc version is not supported :(" |
| 170 | #endif | 170 | #endif |
| 171 | 171 | ||
| 172 | // Don't perpetuate e2fsck crap into the headers. Clean up e2fsck instead. | 172 | /* Don't perpetuate e2fsck crap into the headers. Clean up e2fsck instead. */ |
| 173 | 173 | ||
| 174 | #if defined __GLIBC__ || defined __UCLIBC__ \ | 174 | #if defined __GLIBC__ || defined __UCLIBC__ \ |
| 175 | || defined __dietlibc__ || defined _NEWLIB_VERSION | 175 | || defined __dietlibc__ || defined _NEWLIB_VERSION |
| @@ -210,6 +210,16 @@ typedef unsigned smalluint; | |||
| 210 | #include <stdbool.h> | 210 | #include <stdbool.h> |
| 211 | #endif | 211 | #endif |
| 212 | 212 | ||
| 213 | /* Try to defeat gcc's alignment of "char message[]"-like data */ | ||
| 214 | #if 1 /* if needed: !defined(arch1) && !defined(arch2) */ | ||
| 215 | #define ALIGN1 __attribute__((aligned(1))) | ||
| 216 | #define ALIGN2 __attribute__((aligned(2))) | ||
| 217 | #else | ||
| 218 | /* Arches which MUST have 2 or 4 byte alignment for everything are here */ | ||
| 219 | #define ALIGN1 | ||
| 220 | #define ALIGN2 | ||
| 221 | #endif | ||
| 222 | |||
| 213 | 223 | ||
| 214 | /* uclibc does not implement daemon() for no-mmu systems. | 224 | /* uclibc does not implement daemon() for no-mmu systems. |
| 215 | * For 0.9.29 and svn, __ARCH_USE_MMU__ indicates no-mmu reliably. | 225 | * For 0.9.29 and svn, __ARCH_USE_MMU__ indicates no-mmu reliably. |
| @@ -289,7 +299,7 @@ static ALWAYS_INLINE char* strchrnul(const char *s, char c) | |||
| 289 | 299 | ||
| 290 | #if defined(__linux__) | 300 | #if defined(__linux__) |
| 291 | #include <sys/mount.h> | 301 | #include <sys/mount.h> |
| 292 | // Make sure we have all the new mount flags we actually try to use. | 302 | /* Make sure we have all the new mount flags we actually try to use. */ |
| 293 | #ifndef MS_BIND | 303 | #ifndef MS_BIND |
| 294 | #define MS_BIND (1<<12) | 304 | #define MS_BIND (1<<12) |
| 295 | #endif | 305 | #endif |
| @@ -303,7 +313,7 @@ static ALWAYS_INLINE char* strchrnul(const char *s, char c) | |||
| 303 | #define MS_SILENT (1<<15) | 313 | #define MS_SILENT (1<<15) |
| 304 | #endif | 314 | #endif |
| 305 | 315 | ||
| 306 | // The shared subtree stuff, which went in around 2.6.15 | 316 | /* The shared subtree stuff, which went in around 2.6.15. */ |
| 307 | #ifndef MS_UNBINDABLE | 317 | #ifndef MS_UNBINDABLE |
| 308 | #define MS_UNBINDABLE (1<<17) | 318 | #define MS_UNBINDABLE (1<<17) |
| 309 | #endif | 319 | #endif |
