[syslinux:elflink] elflink: Use ConfigName directly, the comboot API doesn't work

syslinux-bot for H. Peter Anvin hpa at zytor.com
Thu Jun 28 21:39:03 PDT 2012


Commit-ID:  62efc644beddf9e13198456eb1a00acca43b2927
Gitweb:     http://www.syslinux.org/commit/62efc644beddf9e13198456eb1a00acca43b2927
Author:     H. Peter Anvin <hpa at zytor.com>
AuthorDate: Thu, 28 Jun 2012 21:36:59 -0700
Committer:  H. Peter Anvin <hpa at zytor.com>
CommitDate: Thu, 28 Jun 2012 21:36:59 -0700

elflink: Use ConfigName directly, the comboot API doesn't work

Use the ConfigName buffer directly.  Since this buffer doesn't
necessarily live in lowmem anymore, the comboot API is useless.

Signed-off-by: H. Peter Anvin <hpa at zytor.com>

---
 com32/include/syslinux/config.h |    4 +-
 com32/lib/Makefile              |    4 +-
 com32/lib/syslinux/config.c     |   41 ---------------------------------------
 3 files changed, 4 insertions(+), 45 deletions(-)

diff --git a/com32/include/syslinux/config.h b/com32/include/syslinux/config.h
index 79a4750..50bd52f 100644
--- a/com32/include/syslinux/config.h
+++ b/com32/include/syslinux/config.h
@@ -164,10 +164,10 @@ static inline const struct syslinux_serial_console_info
     return &__syslinux_serial_console_info;
 }
 
-extern __nocommon const char *__syslinux_config_file;
+extern char ConfigName[];
 static inline const char *syslinux_config_file(void)
 {
-    return __syslinux_config_file;
+    return ConfigName;
 }
 
 struct syslinux_ipappend_strings {
diff --git a/com32/lib/Makefile b/com32/lib/Makefile
index 57e9c2f..6fa3eae 100644
--- a/com32/lib/Makefile
+++ b/com32/lib/Makefile
@@ -46,8 +46,8 @@ LIBPCI_OBJS = \
 
 LIBSYSLINUX_OBJS = \
 	syslinux/reboot.o syslinux/keyboard.o				\
-	syslinux/features.o syslinux/config.o	\
-	syslinux/version.o	\
+	syslinux/features.o 						\
+	syslinux/version.o						\
 	syslinux/pxe_get_cached.o syslinux/pxe_get_nic.o		\
 	syslinux/pxe_dns.o						\
 	syslinux/video/fontquery.o syslinux/video/reportmode.o
diff --git a/com32/lib/syslinux/config.c b/com32/lib/syslinux/config.c
deleted file mode 100644
index b27aa82..0000000
--- a/com32/lib/syslinux/config.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* ----------------------------------------------------------------------- *
- *
- *   Copyright 2007-2008 H. Peter Anvin - All Rights Reserved
- *
- *   Permission is hereby granted, free of charge, to any person
- *   obtaining a copy of this software and associated documentation
- *   files (the "Software"), to deal in the Software without
- *   restriction, including without limitation the rights to use,
- *   copy, modify, merge, publish, distribute, sublicense, and/or
- *   sell copies of the Software, and to permit persons to whom
- *   the Software is furnished to do so, subject to the following
- *   conditions:
- *
- *   The above copyright notice and this permission notice shall
- *   be included in all copies or substantial portions of the Software.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- *   OTHER DEALINGS IN THE SOFTWARE.
- *
- * ----------------------------------------------------------------------- */
-
-#include <syslinux/config.h>
-#include <klibc/compiler.h>
-#include <com32.h>
-
-const char *__syslinux_config_file;
-
-void __constructor __syslinux_get_config_file_name(void)
-{
-    static com32sys_t reg;
-
-    reg.eax.w[0] = 0x000e;
-    __intcall(0x22, &reg, &reg);
-    __syslinux_config_file = MK_PTR(reg.es, reg.ebx.w[0]);
-}


More information about the Syslinux-commits mailing list