cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Kconfig.binfmt (7550B)


      1# SPDX-License-Identifier: GPL-2.0-only
      2
      3menu "Executable file formats"
      4
      5config BINFMT_ELF
      6	bool "Kernel support for ELF binaries"
      7	depends on MMU
      8	select ELFCORE
      9	default y
     10	help
     11	  ELF (Executable and Linkable Format) is a format for libraries and
     12	  executables used across different architectures and operating
     13	  systems. Saying Y here will enable your kernel to run ELF binaries
     14	  and enlarge it by about 13 KB. ELF support under Linux has now all
     15	  but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC)
     16	  because it is portable (this does *not* mean that you will be able
     17	  to run executables from different architectures or operating systems
     18	  however) and makes building run-time libraries very easy. Many new
     19	  executables are distributed solely in ELF format. You definitely
     20	  want to say Y here.
     21
     22	  Information about ELF is contained in the ELF HOWTO available from
     23	  <http://www.tldp.org/docs.html#howto>.
     24
     25	  If you find that after upgrading from Linux kernel 1.2 and saying Y
     26	  here, you still can't run any ELF binaries (they just crash), then
     27	  you'll have to install the newest ELF runtime libraries, including
     28	  ld.so (check the file <file:Documentation/Changes> for location and
     29	  latest version).
     30
     31config BINFMT_ELF_KUNIT_TEST
     32	bool "Build KUnit tests for ELF binary support" if !KUNIT_ALL_TESTS
     33	depends on KUNIT=y && BINFMT_ELF=y
     34	default KUNIT_ALL_TESTS
     35	help
     36	  This builds the ELF loader KUnit tests, which try to gather
     37	  prior bug fixes into a regression test collection. This is really
     38	  only needed for debugging. Note that with CONFIG_COMPAT=y, the
     39	  compat_binfmt_elf KUnit test is also created.
     40
     41config COMPAT_BINFMT_ELF
     42	def_bool y
     43	depends on COMPAT && BINFMT_ELF
     44	select ELFCORE
     45
     46config ARCH_BINFMT_ELF_STATE
     47	bool
     48
     49config ARCH_BINFMT_ELF_EXTRA_PHDRS
     50	bool
     51
     52config ARCH_HAVE_ELF_PROT
     53	bool
     54
     55config ARCH_USE_GNU_PROPERTY
     56	bool
     57
     58config BINFMT_ELF_FDPIC
     59	bool "Kernel support for FDPIC ELF binaries"
     60	default y if !BINFMT_ELF
     61	depends on ARM || ((M68K || SUPERH) && !MMU)
     62	select ELFCORE
     63	help
     64	  ELF FDPIC binaries are based on ELF, but allow the individual load
     65	  segments of a binary to be located in memory independently of each
     66	  other. This makes this format ideal for use in environments where no
     67	  MMU is available as it still permits text segments to be shared,
     68	  even if data segments are not.
     69
     70	  It is also possible to run FDPIC ELF binaries on MMU linux also.
     71
     72config ELFCORE
     73	bool
     74	help
     75	  This option enables kernel/elfcore.o.
     76
     77config CORE_DUMP_DEFAULT_ELF_HEADERS
     78	bool "Write ELF core dumps with partial segments"
     79	default y
     80	depends on BINFMT_ELF && ELF_CORE
     81	help
     82	  ELF core dump files describe each memory mapping of the crashed
     83	  process, and can contain or omit the memory contents of each one.
     84	  The contents of an unmodified text mapping are omitted by default.
     85
     86	  For an unmodified text mapping of an ELF object, including just
     87	  the first page of the file in a core dump makes it possible to
     88	  identify the build ID bits in the file, without paying the i/o
     89	  cost and disk space to dump all the text.  However, versions of
     90	  GDB before 6.7 are confused by ELF core dump files in this format.
     91
     92	  The core dump behavior can be controlled per process using
     93	  the /proc/PID/coredump_filter pseudo-file; this setting is
     94	  inherited.  See Documentation/filesystems/proc.rst for details.
     95
     96	  This config option changes the default setting of coredump_filter
     97	  seen at boot time.  If unsure, say Y.
     98
     99config BINFMT_SCRIPT
    100	tristate "Kernel support for scripts starting with #!"
    101	default y
    102	help
    103	  Say Y here if you want to execute interpreted scripts starting with
    104	  #! followed by the path to an interpreter.
    105
    106	  You can build this support as a module; however, until that module
    107	  gets loaded, you cannot run scripts.  Thus, if you want to load this
    108	  module from an initramfs, the portion of the initramfs before loading
    109	  this module must consist of compiled binaries only.
    110
    111	  Most systems will not boot if you say M or N here.  If unsure, say Y.
    112
    113config ARCH_HAS_BINFMT_FLAT
    114	bool
    115
    116config BINFMT_FLAT
    117	bool "Kernel support for flat binaries"
    118	depends on ARCH_HAS_BINFMT_FLAT
    119	help
    120	  Support uClinux FLAT format binaries.
    121
    122config BINFMT_FLAT_ARGVP_ENVP_ON_STACK
    123	bool
    124
    125config BINFMT_FLAT_OLD_ALWAYS_RAM
    126	bool
    127
    128config BINFMT_FLAT_NO_DATA_START_OFFSET
    129	bool
    130
    131config BINFMT_FLAT_OLD
    132	bool "Enable support for very old legacy flat binaries"
    133	depends on BINFMT_FLAT
    134	help
    135	  Support decade old uClinux FLAT format binaries.  Unless you know
    136	  you have some of those say N here.
    137
    138config BINFMT_ZFLAT
    139	bool "Enable ZFLAT support"
    140	depends on BINFMT_FLAT
    141	select ZLIB_INFLATE
    142	help
    143	  Support FLAT format compressed binaries
    144
    145config HAVE_AOUT
    146       def_bool n
    147
    148config BINFMT_AOUT
    149	tristate "Kernel support for a.out and ECOFF binaries"
    150	depends on HAVE_AOUT
    151	help
    152	  A.out (Assembler.OUTput) is a set of formats for libraries and
    153	  executables used in the earliest versions of UNIX.  Linux used
    154	  the a.out formats QMAGIC and ZMAGIC until they were replaced
    155	  with the ELF format.
    156
    157	  The conversion to ELF started in 1995.  This option is primarily
    158	  provided for historical interest and for the benefit of those
    159	  who need to run binaries from that era.
    160
    161	  Most people should answer N here.  If you think you may have
    162	  occasional use for this format, enable module support above
    163	  and answer M here to compile this support as a module called
    164	  binfmt_aout.
    165
    166	  If any crucial components of your system (such as /sbin/init
    167	  or /lib/ld.so) are still in a.out format, you will have to
    168	  say Y here.
    169
    170config OSF4_COMPAT
    171	bool "OSF/1 v4 readv/writev compatibility"
    172	depends on ALPHA && BINFMT_AOUT
    173	help
    174	  Say Y if you are using OSF/1 binaries (like Netscape and Acrobat)
    175	  with v4 shared libraries freely available from Compaq. If you're
    176	  going to use shared libraries from Tru64 version 5.0 or later, say N.
    177
    178config BINFMT_MISC
    179	tristate "Kernel support for MISC binaries"
    180	help
    181	  If you say Y here, it will be possible to plug wrapper-driven binary
    182	  formats into the kernel. You will like this especially when you use
    183	  programs that need an interpreter to run like Java, Python, .NET or
    184	  Emacs-Lisp. It's also useful if you often run DOS executables under
    185	  the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
    186	  <http://www.tldp.org/docs.html#howto>). Once you have
    187	  registered such a binary class with the kernel, you can start one of
    188	  those programs simply by typing in its name at a shell prompt; Linux
    189	  will automatically feed it to the correct interpreter.
    190
    191	  You can do other nice things, too. Read the file
    192	  <file:Documentation/admin-guide/binfmt-misc.rst> to learn how to use this
    193	  feature, <file:Documentation/admin-guide/java.rst> for information about how
    194	  to include Java support. and <file:Documentation/admin-guide/mono.rst> for
    195          information about how to include Mono-based .NET support.
    196
    197          To use binfmt_misc, you will need to mount it:
    198		mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
    199
    200	  You may say M here for module support and later load the module when
    201	  you have use for it; the module is called binfmt_misc. If you
    202	  don't know what to answer at this point, say Y.
    203
    204config COREDUMP
    205	bool "Enable core dump support" if EXPERT
    206	default y
    207	help
    208	  This option enables support for performing core dumps. You almost
    209	  certainly want to say Y here. Not necessary on systems that never
    210	  need debugging or only ever run flawless code.
    211
    212endmenu