Blame view

fs/Kconfig.binfmt 6.43 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
  config BINFMT_ELF
  	bool "Kernel support for ELF binaries"
2919b5107   David Howells   [PATCH] frv: supp...
3
  	depends on MMU && (BROKEN || !FRV)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  	default y
  	---help---
  	  ELF (Executable and Linkable Format) is a format for libraries and
  	  executables used across different architectures and operating
  	  systems. Saying Y here will enable your kernel to run ELF binaries
  	  and enlarge it by about 13 KB. ELF support under Linux has now all
  	  but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC)
  	  because it is portable (this does *not* mean that you will be able
  	  to run executables from different architectures or operating systems
  	  however) and makes building run-time libraries very easy. Many new
  	  executables are distributed solely in ELF format. You definitely
  	  want to say Y here.
  
  	  Information about ELF is contained in the ELF HOWTO available from
  	  <http://www.tldp.org/docs.html#howto>.
  
  	  If you find that after upgrading from Linux kernel 1.2 and saying Y
  	  here, you still can't run any ELF binaries (they just crash), then
  	  you'll have to install the newest ELF runtime libraries, including
  	  ld.so (check the file <file:Documentation/Changes> for location and
  	  latest version).
b9d36d5d0   Roland McGrath   x86: compat_binfm...
25
26
  config COMPAT_BINFMT_ELF
  	bool
4cea5ceb4   Alexey Dobriyan   COMPAT_BINFMT_ELF...
27
  	depends on COMPAT && BINFMT_ELF
b9d36d5d0   Roland McGrath   x86: compat_binfm...
28

e39f56023   David Daney   fs: binfmt_elf: c...
29
30
  config ARCH_BINFMT_ELF_RANDOMIZE_PIE
  	bool
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
31
32
33
  config BINFMT_ELF_FDPIC
  	bool "Kernel support for FDPIC ELF binaries"
  	default y
3bc24a1a5   Paul Mundt   sh: Initial ELF F...
34
  	depends on (FRV || BLACKFIN || (SUPERH32 && !MMU))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
35
36
37
38
39
40
41
42
  	help
  	  ELF FDPIC binaries are based on ELF, but allow the individual load
  	  segments of a binary to be located in memory independently of each
  	  other. This makes this format ideal for use in environments where no
  	  MMU is available as it still permits text segments to be shared,
  	  even if data segments are not.
  
  	  It is also possible to run FDPIC ELF binaries on MMU linux also.
656eb2cd5   Roland McGrath   add CONFIG_CORE_D...
43
44
  config CORE_DUMP_DEFAULT_ELF_HEADERS
  	bool "Write ELF core dumps with partial segments"
895021552   Roland McGrath   coredump: default...
45
  	default y
2d96d1053   David Brownell   CORE_DUMP_DEFAULT...
46
  	depends on BINFMT_ELF && ELF_CORE
656eb2cd5   Roland McGrath   add CONFIG_CORE_D...
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
  	help
  	  ELF core dump files describe each memory mapping of the crashed
  	  process, and can contain or omit the memory contents of each one.
  	  The contents of an unmodified text mapping are omitted by default.
  
  	  For an unmodified text mapping of an ELF object, including just
  	  the first page of the file in a core dump makes it possible to
  	  identify the build ID bits in the file, without paying the i/o
  	  cost and disk space to dump all the text.  However, versions of
  	  GDB before 6.7 are confused by ELF core dump files in this format.
  
  	  The core dump behavior can be controlled per process using
  	  the /proc/PID/coredump_filter pseudo-file; this setting is
  	  inherited.  See Documentation/filesystems/proc.txt for details.
  
  	  This config option changes the default setting of coredump_filter
895021552   Roland McGrath   coredump: default...
63
  	  seen at boot time.  If unsure, say Y.
656eb2cd5   Roland McGrath   add CONFIG_CORE_D...
64

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
65
  config BINFMT_FLAT
3202e1811   Adrian Bunk   make BINFMT_FLAT ...
66
  	bool "Kernel support for flat binaries"
b8c141e8f   Adrian Bunk   frv: don't offer ...
67
  	depends on !MMU && (!FRV || BROKEN)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
  	help
  	  Support uClinux FLAT format binaries.
  
  config BINFMT_ZFLAT
  	bool "Enable ZFLAT support"
  	depends on BINFMT_FLAT
  	select ZLIB_INFLATE
  	help
  	  Support FLAT format compressed binaries
  
  config BINFMT_SHARED_FLAT
  	bool "Enable shared FLAT support"
  	depends on BINFMT_FLAT
  	help
  	  Support FLAT shared libraries
e17c6d561   David Woodhouse   Introduce HAVE_AO...
83
84
  config HAVE_AOUT
         def_bool n
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
85
86
  config BINFMT_AOUT
  	tristate "Kernel support for a.out and ECOFF binaries"
e17c6d561   David Woodhouse   Introduce HAVE_AO...
87
  	depends on HAVE_AOUT
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
  	---help---
  	  A.out (Assembler.OUTput) is a set of formats for libraries and
  	  executables used in the earliest versions of UNIX.  Linux used
  	  the a.out formats QMAGIC and ZMAGIC until they were replaced
  	  with the ELF format.
  
  	  The conversion to ELF started in 1995.  This option is primarily
  	  provided for historical interest and for the benefit of those
  	  who need to run binaries from that era.
  
  	  Most people should answer N here.  If you think you may have
  	  occasional use for this format, enable module support above
  	  and answer M here to compile this support as a module called
  	  binfmt_aout.
  
  	  If any crucial components of your system (such as /sbin/init
  	  or /lib/ld.so) are still in a.out format, you will have to
  	  say Y here.
  
  config OSF4_COMPAT
  	bool "OSF/1 v4 readv/writev compatibility"
  	depends on ALPHA && BINFMT_AOUT
  	help
  	  Say Y if you are using OSF/1 binaries (like Netscape and Acrobat)
  	  with v4 shared libraries freely available from Compaq. If you're
  	  going to use shared libraries from Tru64 version 5.0 or later, say N.
  
  config BINFMT_EM86
  	tristate "Kernel support for Linux/Intel ELF binaries"
  	depends on ALPHA
  	---help---
  	  Say Y here if you want to be able to execute Linux/Intel ELF
  	  binaries just like native Alpha binaries on your Alpha machine. For
  	  this to work, you need to have the emulator /usr/bin/em86 in place.
  
  	  You can get the same functionality by saying N here and saying Y to
  	  "Kernel support for MISC binaries".
  
  	  You may answer M to compile the emulation support as a module and
  	  later load the module when you want to use a Linux/Intel binary. The
  	  module will be called binfmt_em86. If unsure, say Y.
  
  config BINFMT_SOM
  	tristate "Kernel support for SOM binaries"
  	depends on PARISC && HPUX
  	help
  	  SOM is a binary executable format inherited from HP/UX.  Say
  	  Y here to be able to load and execute SOM binaries directly.
  
  config BINFMT_MISC
  	tristate "Kernel support for MISC binaries"
  	---help---
  	  If you say Y here, it will be possible to plug wrapper-driven binary
  	  formats into the kernel. You will like this especially when you use
  	  programs that need an interpreter to run like Java, Python, .NET or
  	  Emacs-Lisp. It's also useful if you often run DOS executables under
  	  the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
  	  <http://www.tldp.org/docs.html#howto>). Once you have
  	  registered such a binary class with the kernel, you can start one of
  	  those programs simply by typing in its name at a shell prompt; Linux
  	  will automatically feed it to the correct interpreter.
  
  	  You can do other nice things, too. Read the file
  	  <file:Documentation/binfmt_misc.txt> to learn how to use this
  	  feature, <file:Documentation/java.txt> for information about how
  	  to include Java support. and <file:Documentation/mono.txt> for
            information about how to include Mono-based .NET support.
  
            To use binfmt_misc, you will need to mount it:
  		mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
  
  	  You may say M here for module support and later load the module when
  	  you have use for it; the module is called binfmt_misc. If you
  	  don't know what to answer at this point, say Y.