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 |