aboutsummaryrefslogtreecommitdiffstats
path: root/com32/elflink/ldlinux/readconfig.c
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@linux.intel.com>2011-03-07 23:02:35 +0000
committerMatt Fleming <matt.fleming@linux.intel.com>2011-03-09 14:32:36 +0000
commit1357b7e627064e7c498ae6107b141c3d2aed3a46 (patch)
tree0164b6246746091c8ca8ff198b958160b9528587 /com32/elflink/ldlinux/readconfig.c
parent9caf6cce661a627ff2fd414fc27417f586d2b2f4 (diff)
downloadsyslinux-1357b7e627064e7c498ae6107b141c3d2aed3a46.tar.gz
syslinux-1357b7e627064e7c498ae6107b141c3d2aed3a46.tar.xz
syslinux-1357b7e627064e7c498ae6107b141c3d2aed3a46.zip
elflink: Don't reload the current EXEC_MODULE module
As the ldlinux.c32 ELF module is an executable (EXEC_MODULE) and not a library (LIB_MODULE), we need to make sure we don't reload it when another executable wants to resolve a symbol exported by ldlinux. Whenever an EXEC_MODULE module is loaded its MODULE_MAIN function is executed. In the case of ldlinux, the MODULE_MAIN function drops the user at a command line. So, what currently happens is that if we load an executable module, say menu.c32, which needs symbols exported by ldlinux and ldlinux is already loaded and running, we'll reload ldlinux when resolving undefined symbols from menu.c32 and end up dropping the user at a command prompt and _not_ resolve the symbols and return control to menu.c32's MODULE_MAIN function. ldlinux.c32 effectively steals control of the proces. Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Diffstat (limited to 'com32/elflink/ldlinux/readconfig.c')
0 files changed, 0 insertions, 0 deletions