svn commit: r324557 - in head/sys/boot/efi: include loader loader/arch/i386

Warner Losh imp at FreeBSD.org
Thu Oct 12 15:16:18 UTC 2017


Author: imp
Date: Thu Oct 12 15:16:16 2017
New Revision: 324557
URL: https://svnweb.freebsd.org/changeset/base/324557

Log:
  Rename exit to efi_exit to avoid clashing with libsa exit definition
  
  Rename exit to efi_exit. It doesn't have the proper signature and
  conflicts with standard definition. Provide the standard definition as
  well.
  
  Sponsored by: Netflix

Modified:
  head/sys/boot/efi/include/efilib.h
  head/sys/boot/efi/loader/arch/i386/exec.c
  head/sys/boot/efi/loader/efi_main.c

Modified: head/sys/boot/efi/include/efilib.h
==============================================================================
--- head/sys/boot/efi/include/efilib.h	Thu Oct 12 14:57:05 2017	(r324556)
+++ head/sys/boot/efi/include/efilib.h	Thu Oct 12 15:16:16 2017	(r324557)
@@ -95,7 +95,7 @@ void efi_time_fini(void);
 EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab);
 
 EFI_STATUS main(int argc, CHAR16 *argv[]);
-void exit(EFI_STATUS status) __dead2;
+void efi_exit(EFI_STATUS status) __dead2;
 void delay(int usecs);
 
 /* EFI environment initialization. */

Modified: head/sys/boot/efi/loader/arch/i386/exec.c
==============================================================================
--- head/sys/boot/efi/loader/arch/i386/exec.c	Thu Oct 12 14:57:05 2017	(r324556)
+++ head/sys/boot/efi/loader/arch/i386/exec.c	Thu Oct 12 15:16:16 2017	(r324557)
@@ -36,12 +36,6 @@ __FBSDID("$FreeBSD$");
 uint32_t __base;
 struct __v86 __v86;
 
-/* XXX - Needed a definition here to implicitly define exit(); do not remove. */
-static void
-exit(int x)
-{
-}
-
 void
 __v86int()
 {

Modified: head/sys/boot/efi/loader/efi_main.c
==============================================================================
--- head/sys/boot/efi/loader/efi_main.c	Thu Oct 12 14:57:05 2017	(r324556)
+++ head/sys/boot/efi/loader/efi_main.c	Thu Oct 12 15:16:16 2017	(r324557)
@@ -36,13 +36,20 @@ static EFI_PHYSICAL_ADDRESS heap;
 static UINTN heapsize;
 
 void
-exit(EFI_STATUS exit_code)
+efi_exit(EFI_STATUS exit_code)
 {
 
 	BS->FreePages(heap, EFI_SIZE_TO_PAGES(heapsize));
 	BS->Exit(IH, exit_code, 0, NULL);
 }
 
+void
+exit(int status)
+{
+
+	efi_exit(EFI_LOAD_ERROR);
+}
+
 static CHAR16 *
 arg_skipsep(CHAR16 *argp)
 {
@@ -92,11 +99,11 @@ efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *sy
 
 	setheap((void *)(uintptr_t)heap, (void *)(uintptr_t)(heap + heapsize));
 
-	/* Use exit() from here on... */
+	/* Use efi_exit() from here on... */
 
 	status = BS->HandleProtocol(IH, &image_protocol, (VOID**)&img);
 	if (status != EFI_SUCCESS)
-		exit(status);
+		efi_exit(status);
 
 	/*
 	 * Pre-process the (optional) load options. If the option string
@@ -176,6 +183,6 @@ efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *sy
 	argv[argc] = NULL;
 
 	status = main(argc, argv);
-	exit(status);
+	efi_exit(status);
 	return (status);
 }


More information about the svn-src-head mailing list