aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-08-12 20:58:27 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-08-12 20:58:27 +0000
commit6ca409e0e4c198fe3081346eebbae3f068fe605a (patch)
tree060cb05d99220a1eda399194d1209c269f0e8cd8 /include
parent4185548984357df91311f30c8e43d95f33922576 (diff)
downloadbusybox-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.h16
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