X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=flat.h;h=3cc502d7c7fdfe33096eb77eb199c4f7179b0de4;hb=29ba55b4e6ac0ceb6f96fbc967863eb6b72ff05b;hp=81eaac2d5d3a7c54544509e6b1f9d8e6ded042fe;hpb=ca468dce3a10dfa5a7b00acf07eecf5d577da683;p=uclinux-h8%2Felf2flt.git diff --git a/flat.h b/flat.h index 81eaac2..3cc502d 100644 --- a/flat.h +++ b/flat.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2003 David McCullough + * Copyright (C) 2002-2005 David McCullough * Copyright (C) 1998 Kenneth Albanowski * The Silver Hammer Group, Ltd. * @@ -14,6 +14,7 @@ #define _LINUX_FLAT_H #ifdef __KERNEL__ +#include #include #endif @@ -31,26 +32,26 @@ */ struct flat_hdr { - char magic[4]; - unsigned long rev; /* version (as above) */ - unsigned long entry; /* Offset of first executable instruction - with text segment from beginning of file */ - unsigned long data_start; /* Offset of data segment from beginning of - file */ - unsigned long data_end; /* Offset of end of data segment - from beginning of file */ - unsigned long bss_end; /* Offset of end of bss segment from beginning - of file */ - - /* (It is assumed that data_end through bss_end forms the bss segment.) */ - - unsigned long stack_size; /* Size of stack, in bytes */ - unsigned long reloc_start; /* Offset of relocation records from - beginning of file */ - unsigned long reloc_count; /* Number of relocation records */ - unsigned long flags; - unsigned long build_date; /* When the program/library was built */ - unsigned long filler[5]; /* Reservered, set to zero */ + char magic[4]; + uint32_t rev; /* version (as above) */ + uint32_t entry; /* Offset of first executable instruction + with text segment from beginning of file */ + uint32_t data_start; /* Offset of data segment from beginning of + file */ + uint32_t data_end; /* Offset of end of data segment from beginning + of file */ + uint32_t bss_end; /* Offset of end of bss segment from beginning + of file */ + + /* (It is assumed that data_end through bss_end forms the bss segment.) */ + + uint32_t stack_size; /* Size of stack, in bytes */ + uint32_t reloc_start; /* Offset of relocation records from beginning + of file */ + uint32_t reloc_count; /* Number of relocation records */ + uint32_t flags; + uint32_t build_date; /* When the program/library was built */ + uint32_t filler[5]; /* Reservered, set to zero */ }; #define FLAT_FLAG_RAM 0x0001 /* load program entirely into RAM */ @@ -59,7 +60,6 @@ struct flat_hdr { #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 @@ -72,32 +72,40 @@ struct flat_hdr { #include -#define OLD_FLAT_VERSION 0x00000002L +#define OLD_FLAT_VERSION 0x00000002L #define OLD_FLAT_RELOC_TYPE_TEXT 0 #define OLD_FLAT_RELOC_TYPE_DATA 1 #define OLD_FLAT_RELOC_TYPE_BSS 2 typedef union { - unsigned long value; - struct { + uint32_t value; + struct { # if defined(mc68000) && !defined(CONFIG_COLDFIRE) - signed long offset : 30; - unsigned long type : 2; + int32_t offset : 30; + uint32_t type : 2; # define OLD_FLAT_FLAG_RAM 0x1 /* load program entirely into RAM */ # elif defined(__BIG_ENDIAN_BITFIELD) - unsigned long type : 2; - signed long offset : 30; + uint32_t type : 2; + int32_t offset : 30; # define OLD_FLAT_FLAG_RAM 0x1 /* load program entirely into RAM */ # elif defined(__LITTLE_ENDIAN_BITFIELD) - signed long offset : 30; - unsigned long type : 2; + int32_t offset : 30; + uint32_t type : 2; # define OLD_FLAT_FLAG_RAM 0x1 /* load program entirely into RAM */ # else # error "Unknown bitfield order for flat files." # endif - } reloc; + } reloc; } flat_v2_reloc_t; #endif /* __KERNEL__ */ #endif /* _LINUX_FLAT_H */ + +/* this __MUST__ be at the VERY end of the file - do NOT move!! + * Local Variables: + * c-basic-offset: 4 + * tab-width: 8 + * end: + * vi: tabstop=8 shiftwidth=4 textwidth=79 noexpandtab + */