[syslinux] [PATCH 00/20] Switch to ELF modules

Matt Fleming matt at console-pimps.org
Sat Apr 16 07:17:28 PDT 2011


From: Matt Fleming <matt.fleming at linux.intel.com>

This series fixes some bugs and switches the elflink branch to be
entirely ELF modules. It applies on top of,

http://syslinux.zytor.com/archives/2011-April/016369.html

The deletions in the diff stat below are mainly from deleting
com32/elflink/modules (finally!). Now there should be no duplicate
code because we don't need COM32 and ELF modules to coexist.

I've sent this as a patch series instead of a pull request because it
includes some pretty fundamental changes to the elflink branch and I'd
feel better if it got a little bit of a review first.

Matt Fleming (20):
  elflink: Move elf MCONFIG to mk/elf.mk
  mk: Add rule for emitting .c32 ELF files
  mk: LDFLAGS use elf_i386 emulation for ld
  exit: Delete exit.S and references to __exit_handler
  com32: console is already initialised when we enter main()
  elflink: Remove MODULE_MAIN() from executable ELF modules
  elflink: Move more code from core/ into ldlinux
  com32: Put deleted object files back into the Makefile
  com32: Remove klibc.c32
  cmenu: Rename menu.h to cmenu.h
  com32: We only need one refstr.h
  com32: Move menu.h
  elflink: Delete core-elf.h
  elflink: Make ELF the default object format
  exit.c: Truncate exit status to uint8_t
  elflink: ldlinux should not have any dependencies
  elflink: Don't compile in debug output by default
  elflink: Don't require every module to have init/exit functions
  elf_gen_dep.sh: Don't calculate dependencies for whitespace symbols
  elf_gen_dep.sh: Prioritise symbols exported by core

 com32/Makefile                                     |    4 +-
 com32/cmenu/Makefile                               |   16 +-
 com32/cmenu/adv_menu.tpl                           |    2 +-
 com32/cmenu/complex.c                              |    2 +-
 com32/cmenu/display.c                              |    2 +-
 com32/cmenu/libmenu/{menu.h => cmenu.h}            |    0
 com32/cmenu/libmenu/help.h                         |    2 +-
 com32/cmenu/libmenu/menu.c                         |    2 +-
 com32/cmenu/simple.c                               |    2 +-
 com32/elflink/Makefile                             |    3 -
 com32/elflink/ldlinux/Makefile                     |   15 +-
 com32/elflink/ldlinux/cli.c                        |    1 -
 com32/elflink/ldlinux/colors.c                     |    1 -
 {core/elflink => com32/elflink/ldlinux}/execute.c  |   74 ++-
 com32/{libutil => elflink/ldlinux}/get_key.c       |    0
 {core/elflink => com32/elflink/ldlinux}/kernel.c   |    1 -
 com32/elflink/ldlinux/ldlinux.c                    |    4 +-
 com32/elflink/ldlinux/readconfig.c                 |    1 -
 com32/elflink/modules/Makefile                     |  111 ---
 com32/elflink/modules/README                       |    1 -
 com32/elflink/modules/ansiraw.c                    |  115 ---
 com32/elflink/modules/background.c                 |   57 --
 com32/elflink/modules/base64.h                     |   51 -
 com32/elflink/modules/cpuid.c                      |   61 --
 com32/elflink/modules/cpuidtest.c                  |  140 ---
 com32/elflink/modules/crypt-md5.c                  |  173 ----
 com32/elflink/modules/dir.c                        |  178 ----
 com32/elflink/modules/disk.c                       |   60 --
 com32/elflink/modules/drain.c                      |   40 -
 com32/elflink/modules/get_key.c                    |  187 ----
 com32/elflink/modules/md5.c                        |  288 ------
 com32/elflink/modules/md5.h                        |   46 -
 com32/elflink/modules/meminfo.c                    |  133 ---
 com32/elflink/modules/menu.c                       |   20 -
 com32/elflink/modules/menu.h                       |  218 -----
 com32/elflink/modules/menumain.c                   |  977 --------------------
 com32/elflink/modules/modules.dep                  |   19 -
 com32/elflink/modules/mytest.c                     |   30 -
 com32/elflink/modules/passwd.c                     |  112 ---
 com32/elflink/modules/pcitest.c                    |  156 ----
 com32/elflink/modules/printmsg.c                   |  116 ---
 com32/elflink/modules/refstr.h                     |   40 -
 com32/elflink/modules/sha1.h                       |   18 -
 com32/elflink/modules/sha1hash.c                   |  347 -------
 com32/elflink/modules/sha256crypt.c                |  559 -----------
 com32/elflink/modules/sha512crypt.c                |  606 ------------
 com32/elflink/modules/test.c                       |  112 ---
 com32/elflink/modules/unbase64.c                   |   91 --
 com32/elflink/modules/vesainfo.c                   |   93 --
 com32/gfxboot/Makefile                             |    6 +-
 com32/gpllib/Makefile                              |   14 +-
 com32/hdt/Makefile                                 |    4 +-
 com32/{elflink/modules => include}/cli.h           |    0
 com32/{menu => include}/menu.h                     |    0
 com32/{elflink/ldlinux => include}/refstr.h        |    0
 com32/{elflink/modules => include}/sort.h          |    0
 com32/include/sys/exec.h                           |    3 +-
 com32/include/sys/module.h                         |    5 +-
 com32/lib/Makefile                                 |   30 +-
 com32/lib/exit.c                                   |    2 +-
 com32/lib/onexit.c                                 |    3 -
 com32/lib/sys/exit.S                               |   41 -
 com32/lib/sys/module/elf_module.c                  |   47 +-
 com32/lib/sys/module/exec.c                        |   53 +-
 com32/libutil/Makefile                             |   15 +-
 .../modules/sort.c => libutil/quicksort.c}         |   21 -
 com32/lua/src/Makefile                             |   12 +-
 com32/mboot/Makefile                               |    4 +-
 com32/menu/Makefile                                |    2 +-
 com32/menu/refstr.h                                |   40 -
 com32/modules/Makefile                             |   15 +-
 com32/modules/cat.c                                |    2 -
 com32/modules/chain.c                              |    2 -
 com32/modules/config.c                             |    2 -
 com32/modules/cpuid.c                              |    2 -
 com32/modules/cpuidtest.c                          |    1 -
 com32/modules/dir.c                                |    2 -
 com32/modules/disk.c                               |    2 -
 com32/modules/dmitest.c                            |    1 -
 com32/modules/elf.c                                |    2 -
 com32/modules/ethersel.c                           |    1 -
 com32/modules/gpxecmd.c                            |    2 -
 com32/{elflink => }/modules/hello.c                |    7 +-
 com32/modules/host.c                               |    2 -
 com32/modules/ifplop.c                             |    2 -
 com32/modules/kbdmap.c                             |    2 -
 com32/modules/linux.c                              |    2 -
 com32/modules/ls.c                                 |    2 -
 com32/modules/meminfo.c                            |   20 +-
 com32/modules/pcitest.c                            |    2 -
 com32/modules/pmload.c                             |    2 -
 com32/modules/pwd.c                                |    1 -
 com32/modules/sanboot.c                            |    2 -
 com32/modules/sdi.c                                |    2 -
 com32/modules/vesainfo.c                           |   46 +-
 com32/modules/vpdtest.c                            |    1 -
 com32/modules/whichsys.c                           |    2 -
 com32/samples/Makefile                             |    2 +-
 com32/sysdump/Makefile                             |    6 +-
 com32/sysdump/main.c                               |    1 -
 core/elflink/core-elf.h                            |   29 -
 core/elflink/load_env32.c                          |    8 +-
 core/strncasecmp.c                                 |   24 -
 elf_gen_dep.sh                                     |    7 +-
 mk/com32.mk                                        |    2 +-
 com32/elflink/modules/MCONFIG => mk/elf.mk         |   25 +-
 mk/lib.mk                                          |    2 +-
 mk/rosh.mk                                         |    2 +-
 108 files changed, 258 insertions(+), 5568 deletions(-)
 rename com32/cmenu/libmenu/{menu.h => cmenu.h} (100%)
 rename {core/elflink => com32/elflink/ldlinux}/execute.c (72%)
 rename com32/{libutil => elflink/ldlinux}/get_key.c (100%)
 rename {core/elflink => com32/elflink/ldlinux}/kernel.c (99%)
 delete mode 100644 com32/elflink/modules/Makefile
 delete mode 100644 com32/elflink/modules/README
 delete mode 100644 com32/elflink/modules/ansiraw.c
 delete mode 100644 com32/elflink/modules/background.c
 delete mode 100644 com32/elflink/modules/base64.h
 delete mode 100644 com32/elflink/modules/cpuid.c
 delete mode 100644 com32/elflink/modules/cpuidtest.c
 delete mode 100644 com32/elflink/modules/crypt-md5.c
 delete mode 100644 com32/elflink/modules/dir.c
 delete mode 100644 com32/elflink/modules/disk.c
 delete mode 100644 com32/elflink/modules/drain.c
 delete mode 100644 com32/elflink/modules/get_key.c
 delete mode 100644 com32/elflink/modules/md5.c
 delete mode 100644 com32/elflink/modules/md5.h
 delete mode 100644 com32/elflink/modules/meminfo.c
 delete mode 100644 com32/elflink/modules/menu.c
 delete mode 100644 com32/elflink/modules/menu.h
 delete mode 100644 com32/elflink/modules/menumain.c
 delete mode 100644 com32/elflink/modules/modules.dep
 delete mode 100644 com32/elflink/modules/mytest.c
 delete mode 100644 com32/elflink/modules/passwd.c
 delete mode 100644 com32/elflink/modules/pcitest.c
 delete mode 100644 com32/elflink/modules/printmsg.c
 delete mode 100644 com32/elflink/modules/refstr.h
 delete mode 100644 com32/elflink/modules/sha1.h
 delete mode 100644 com32/elflink/modules/sha1hash.c
 delete mode 100644 com32/elflink/modules/sha256crypt.c
 delete mode 100644 com32/elflink/modules/sha512crypt.c
 delete mode 100644 com32/elflink/modules/test.c
 delete mode 100644 com32/elflink/modules/unbase64.c
 delete mode 100644 com32/elflink/modules/vesainfo.c
 rename com32/{elflink/modules => include}/cli.h (100%)
 rename com32/{menu => include}/menu.h (100%)
 rename com32/{elflink/ldlinux => include}/refstr.h (100%)
 rename com32/{elflink/modules => include}/sort.h (100%)
 delete mode 100644 com32/lib/sys/exit.S
 rename com32/{elflink/modules/sort.c => libutil/quicksort.c} (80%)
 delete mode 100644 com32/menu/refstr.h
 rename com32/{elflink => }/modules/hello.c (77%)
 delete mode 100644 core/elflink/core-elf.h
 delete mode 100644 core/strncasecmp.c
 rename com32/elflink/modules/MCONFIG => mk/elf.mk (78%)

-- 
1.7.4.2




More information about the Syslinux mailing list