[Forensics-changes] [yara] 31/160: Use GCC's -fvisibility feature together with YR_API definition instead of separately maintained list for exporting symbols

Hilko Bengen bengen at moszumanska.debian.org
Sat Jul 1 10:29:15 UTC 2017


This is an automated email from the git hooks/post-receive script.

bengen pushed a commit to annotated tag v3.4.0
in repository yara.

commit b58bb081696335d2d5aca235a09acf36924acad4
Author: Hilko Bengen <bengen at hilluzination.de>
Date:   Sun Mar 8 23:56:25 2015 +0100

    Use GCC's -fvisibility feature together with YR_API definition instead
    of separately maintained list for exporting symbols
---
 configure.ac                 |  1 +
 libyara/Makefile.am          |  6 +++++-
 libyara/include/yara/utils.h | 12 ++++++++++--
 libyara/libyara.sym          | 33 ---------------------------------
 4 files changed, 16 insertions(+), 36 deletions(-)

diff --git a/configure.ac b/configure.ac
index de51374..22f75ed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,6 +95,7 @@ AC_CHECK_FUNCS([strlcpy strlcat memmem timegm])
 AM_CONDITIONAL([CUCKOO], [test x$build_cuckoo_module = xtrue])
 AM_CONDITIONAL([MAGIC], [test x$build_magic_module = xtrue])
 AM_CONDITIONAL([HASH], [test x$build_hash_module = xtrue])
+AM_CONDITIONAL([GCC], [test "x$GCC" = xyes])
 
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([libyara/Makefile])
diff --git a/libyara/Makefile.am b/libyara/Makefile.am
index a13245e..84578e3 100644
--- a/libyara/Makefile.am
+++ b/libyara/Makefile.am
@@ -26,6 +26,10 @@ AM_YFLAGS=-d
 
 AM_CFLAGS=-O3 -Wall -Wno-deprecated-declarations -std=gnu99 -I$(srcdir)/include
 
+if GCC
+AM_CFLAGS+=-fvisibility=hidden
+endif
+
 ACLOCAL_AMFLAGS=-I m4
 
 include_HEADERS = include/yara.h
@@ -55,7 +59,7 @@ yarainclude_HEADERS = \
 
 lib_LTLIBRARIES = libyara.la
 
-libyara_la_LDFLAGS = -export-symbols $(srcdir)/libyara.sym -version-number 3:3:0
+libyara_la_LDFLAGS = -version-number 3:3:0
 
 libyara_la_SOURCES = \
   $(MODULES) \
diff --git a/libyara/include/yara/utils.h b/libyara/include/yara/utils.h
index 9b5adc1..3fb33d2 100644
--- a/libyara/include/yara/utils.h
+++ b/libyara/include/yara/utils.h
@@ -31,9 +31,17 @@ limitations under the License.
 #endif
 
 #ifdef __cplusplus
-#define YR_API extern "C"
+#define EXTERNC extern "C"
 #else
-#define YR_API
+#define EXTERNC
+#endif
+
+#if defined(__GNUC__)
+#define YR_API EXTERNC __attribute__((visibility("default")))
+#elif defined(_MSC_VER)
+#define YR_API EXTERNC __declspec(dllexport)
+#else
+#deinfe YR_API EXTERNC
 #endif
 
 #ifndef min
diff --git a/libyara/libyara.sym b/libyara/libyara.sym
deleted file mode 100644
index 3182cfc..0000000
--- a/libyara/libyara.sym
+++ /dev/null
@@ -1,33 +0,0 @@
-yr_initialize
-yr_finalize
-yr_finalize_thread
-yr_filemap_map
-yr_filemap_map_ex
-yr_filemap_unmap
-yr_get_tidx
-yr_set_tidx
-yr_compiler_create
-yr_compiler_destroy
-yr_compiler_add_file
-yr_compiler_add_string
-yr_compiler_set_callback
-yr_compiler_get_error_message
-yr_compiler_get_current_file_name
-yr_compiler_define_integer_variable
-yr_compiler_define_boolean_variable
-yr_compiler_define_float_variable
-yr_compiler_define_string_variable
-yr_compiler_get_rules
-yr_rules_scan_mem
-yr_rules_scan_file
-yr_rules_scan_proc
-yr_rules_save
-yr_rules_save_stream
-yr_rules_load
-yr_rules_load_stream
-yr_rules_destroy
-yr_rules_define_integer_variable
-yr_rules_define_boolean_variable
-yr_rules_define_float_variable
-yr_rules_define_string_variable
-yr_rules_print_profiling_info
\ No newline at end of file

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/forensics/yara.git



More information about the forensics-changes mailing list