[syslinux:firmware] efi: Turn on symbol export whitelist
syslinux-bot for Matt Fleming
matt.fleming at intel.com
Thu Jun 20 06:51:08 PDT 2013
Commit-ID: bb9e70f847a290973945665d8abe717b9e2a18f8
Gitweb: http://www.syslinux.org/commit/bb9e70f847a290973945665d8abe717b9e2a18f8
Author: Matt Fleming <matt.fleming at intel.com>
AuthorDate: Wed, 19 Jun 2013 13:56:19 +0100
Committer: Matt Fleming <matt.fleming at intel.com>
CommitDate: Wed, 19 Jun 2013 14:26:19 +0100
efi: Turn on symbol export whitelist
Reduce the default visibility of objects in efi/ as was done for BIOS in
commit e4b3ce2dd82c ("Symbol export whitelist").
Signed-off-by: Matt Fleming <matt.fleming at intel.com>
---
core/bios.c | 2 +-
core/isolinux-c.c | 2 +-
core/ldlinux-c.c | 2 +-
core/pxelinux-c.c | 2 +-
efi/console.c | 2 +-
efi/derivative.c | 2 +-
efi/main.c | 10 +++++-----
mk/efi.mk | 3 ++-
8 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/core/bios.c b/core/bios.c
index aca764b..3972e00 100644
--- a/core/bios.c
+++ b/core/bios.c
@@ -12,7 +12,7 @@
#include <sys/vesa/debug.h>
#include <minmax.h>
-struct firmware *firmware = NULL;
+__export struct firmware *firmware = NULL;
extern struct ansi_ops bios_ansi_ops;
diff --git a/core/isolinux-c.c b/core/isolinux-c.c
index bdc7df5..b987b68 100644
--- a/core/isolinux-c.c
+++ b/core/isolinux-c.c
@@ -9,7 +9,7 @@ extern uint16_t bios_cdrom;
extern uint8_t DriveNumber;
extern uint8_t spec_packet;
-void get_derivative_info(union syslinux_derivative_info *di)
+__export void get_derivative_info(union syslinux_derivative_info *di)
{
di->iso.filesystem = SYSLINUX_FS_ISOLINUX;
di->iso.sector_shift = SectorShift;
diff --git a/core/ldlinux-c.c b/core/ldlinux-c.c
index 3d15cef..8c49e0e 100644
--- a/core/ldlinux-c.c
+++ b/core/ldlinux-c.c
@@ -7,7 +7,7 @@ extern far_ptr_t PartInfo;
extern far_ptr_t OrigESDI;
extern uint64_t Hidden;
-void get_derivative_info(union syslinux_derivative_info *di)
+__export void get_derivative_info(union syslinux_derivative_info *di)
{
di->disk.filesystem = SYSLINUX_FS_SYSLINUX;
di->disk.sector_shift = SectorShift;
diff --git a/core/pxelinux-c.c b/core/pxelinux-c.c
index a0f0bc8..69c9aac 100644
--- a/core/pxelinux-c.c
+++ b/core/pxelinux-c.c
@@ -11,7 +11,7 @@ extern far_ptr_t InitStack;
struct syslinux_ipinfo IPInfo;
uint16_t APIVer; /* PXE API version found */
-void get_derivative_info(union syslinux_derivative_info *di)
+__export void get_derivative_info(union syslinux_derivative_info *di)
{
di->pxe.filesystem = SYSLINUX_FS_PXELINUX;
di->pxe.apiver = APIVer;
diff --git a/efi/console.c b/efi/console.c
index 1f09c5a..a2585c5 100644
--- a/efi/console.c
+++ b/efi/console.c
@@ -3,7 +3,7 @@
extern EFI_GUID GraphicsOutputProtocol;
-void writechr(char data)
+__export void writechr(char data)
{
efi_write_char(data, 0);
}
diff --git a/efi/derivative.c b/efi/derivative.c
index aa72fb1..4391d4c 100644
--- a/efi/derivative.c
+++ b/efi/derivative.c
@@ -14,7 +14,7 @@
struct syslinux_ipinfo IPInfo;
uint16_t APIVer; /* PXE API version found */
-void get_derivative_info(union syslinux_derivative_info *di)
+__export void get_derivative_info(union syslinux_derivative_info *di)
{
di->disk.filesystem = SYSLINUX_FS_SYSLINUX;
}
diff --git a/efi/main.c b/efi/main.c
index 81a84a4..16810ac 100644
--- a/efi/main.c
+++ b/efi/main.c
@@ -10,10 +10,10 @@
#include "efi.h"
#include "fio.h"
-uint16_t PXERetry;
-char copyright_str[] = "Copyright (C) 2011\n";
+__export uint16_t PXERetry;
+__export char copyright_str[] = "Copyright (C) 2011\n";
uint8_t SerialNotice = 1;
-char syslinux_banner[] = "Syslinux 5.x (EFI)\n";
+__export char syslinux_banner[] = "Syslinux 5.x (EFI)\n";
char CurrentDirName[CURRENTDIR_MAX];
struct com32_sys_args __com32;
@@ -131,7 +131,7 @@ void __cdecl core_farcall(uint32_t c, const com32sys_t *a, com32sys_t *b)
{
}
-struct firmware *firmware = NULL;
+__export struct firmware *firmware = NULL;
void *__syslinux_adv_ptr;
size_t __syslinux_adv_size;
char core_xfer_buf[65536];
@@ -180,7 +180,7 @@ void sem_up(struct semaphore *sem)
/* EFI is single threaded */
}
-volatile uint32_t __ms_timer = 0;
+__export volatile uint32_t __ms_timer = 0;
volatile uint32_t __jiffies = 0;
void efi_write_char(uint8_t ch, uint8_t attribute)
diff --git a/mk/efi.mk b/mk/efi.mk
index 3c13445..24ac811 100644
--- a/mk/efi.mk
+++ b/mk/efi.mk
@@ -40,7 +40,8 @@ CFLAGS = -I$(EFIINC) -I$(EFIINC)/$(EFI_SUBARCH) \
-I$(core)/include -I$(core)/ $(CARCHOPT) \
-I$(com32)/lib/ -I$(com32)/libutil/include -std=gnu99 \
-DELF_DEBUG -DSYSLINUX_EFI -I$(objdir) \
- $(GCCWARN) -D__COM32__ -mno-red-zone -DLDLINUX=\"$(LDLINUX)\"
+ $(GCCWARN) -D__COM32__ -mno-red-zone \
+ -DLDLINUX=\"$(LDLINUX)\" -fvisibility=hidden
# gnuefi sometimes installs these under a gnuefi/ directory, and sometimes not
CRT0 := $(shell find $(LIBDIR) -name crt0-efi-$(EFI_SUBARCH).o 2>/dev/null | tail -n1)
More information about the Syslinux-commits
mailing list