summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@snapgear.com>2003-07-06 23:00:12 -0700
committerSteve French <cifs.adm@hostme.bitkeeper.com>2003-07-06 23:00:12 -0700
commita7eec8d9269e8c879e216bfcc11a5b5fa333c250 (patch)
tree77275d978eb0a9da034506eac1571f09758941c3 /include/linux
parent4c397a46724a0d9331cbbcc3f025c35c1fa6c08e (diff)
[PATCH] define shared lib limits for flat loader
This patch includes the last peices of the flat laoder shared library support. Define the shared lib limit and implement a flag for doing kernel level tracing.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/flat.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/include/linux/flat.h b/include/linux/flat.h
index 7643a3f9d3f5..ec56852e2659 100644
--- a/include/linux/flat.h
+++ b/include/linux/flat.h
@@ -1,7 +1,7 @@
-
-/* Copyright (C) 1998 Kenneth Albanowski <kjahds@kjahds.com>
- * The Silver Hammer Group, Ltd.
- * Copyright (C) 2002 David McCullough <davidm@snapgear.com>
+/*
+ * Copyright (C) 2002-2003 David McCullough <davidm@snapgear.com>
+ * Copyright (C) 1998 Kenneth Albanowski <kjahds@kjahds.com>
+ * The Silver Hammer Group, Ltd.
*
* This file provides the definitions and structures needed to
* support uClinux flat-format executables.
@@ -10,10 +10,18 @@
#ifndef _LINUX_FLAT_H
#define _LINUX_FLAT_H
+#ifdef __KERNEL__
#include <asm/flat.h>
+#endif
#define FLAT_VERSION 0x00000004L
+#ifdef CONFIG_BINFMT_SHARED_FLAT
+#define MAX_SHARED_LIBS (4)
+#else
+#define MAX_SHARED_LIBS (1)
+#endif
+
/*
* To make everything easier to port and manage cross platform
* development, all fields are in network byte order.
@@ -46,8 +54,10 @@ struct flat_hdr {
#define FLAT_FLAG_GOTPIC 0x0002 /* program is PIC with GOT */
#define FLAT_FLAG_GZIP 0x0004 /* all but the header is compressed */
#define FLAT_FLAG_GZDATA 0x0008 /* only data/relocs are compressed (for XIP) */
+#define FLAT_FLAG_KTRACE 0x0010 /* output useful kernel trace for debugging */
+#ifdef __KERNEL__ /* so systems without linux headers can compile the apps */
/*
* While it would be nice to keep this header clean, users of older
* tools still need this support in the kernel. So this section is
@@ -85,4 +95,6 @@ typedef union {
} reloc;
} flat_v2_reloc_t;
+#endif /* __KERNEL__ */
+
#endif /* _LINUX_FLAT_H */