[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH v4 4/4] lib/*: Add missing exportsyms.uk for libraries in `/lib`



After testing, this looks like a no-op. No symbols change their visibility. But that just meas that we apparently did a good job so far at keeping local symbols out of the global scope already...

Reviewed-by: Florian Schmidt <florian.schmidt@xxxxxxxxx>

On 08/24/2018 01:11 PM, Simon Kuenzer wrote:
Every library should have a `exportsyms.uk` file, which is simply a flat
file, with one symbol name per line. All symbols not listed there will
become local to the library.

Signed-off-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx>
Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
  lib/nolibc/exportsyms.uk        | 69 +++++++++++++++++++++++++++++++++++++++++
  lib/ukalloc/exportsyms.uk       |  9 ++++++
  lib/ukallocbbuddy/exportsyms.uk |  2 ++
  lib/ukargparse/exportsyms.uk    |  1 +
  lib/ukboot/exportsyms.uk        |  3 ++
  lib/ukdebug/exportsyms.uk       |  8 +++++
  lib/uksched/exportsyms.uk       | 15 +++++++++
  lib/ukschedcoop/exportsyms.uk   |  1 +
  lib/uktimeconv/exportsyms.uk    |  3 ++
  9 files changed, 111 insertions(+)
  create mode 100644 lib/nolibc/exportsyms.uk
  create mode 100644 lib/ukalloc/exportsyms.uk
  create mode 100644 lib/ukallocbbuddy/exportsyms.uk
  create mode 100644 lib/ukargparse/exportsyms.uk
  create mode 100644 lib/ukboot/exportsyms.uk
  create mode 100644 lib/ukdebug/exportsyms.uk
  create mode 100644 lib/uksched/exportsyms.uk
  create mode 100644 lib/ukschedcoop/exportsyms.uk
  create mode 100644 lib/uktimeconv/exportsyms.uk

diff --git a/lib/nolibc/exportsyms.uk b/lib/nolibc/exportsyms.uk
new file mode 100644
index 0000000..71aded4
--- /dev/null
+++ b/lib/nolibc/exportsyms.uk
@@ -0,0 +1,69 @@
+# asprintf
+asprintf
+vasprintf
+
+# getopt
+opterr
+optind
+optopt
+optreset
+optarg
+getopt
+getopt_long
+getopt_long_only
+
+# malloc
+malloc
+calloc
+realloc
+posix_memalign
+memalign
+free
+
+# sscanf
+vsscanf
+scanf
+sscanf
+
+# stdio
+stdin
+stdout
+stderr
+vsnprintf
+vsprintf
+snprintf
+sprintf
+vfprintf
+fprintf
+vprintf
+printf
+fflush
+
+# stdlib
+strtoul
+strtoll
+strtoull
+atoi
+
+# string
+memcpy
+memset
+memchr
+memmove
+memcmp
+strnlen
+strlen
+strncpy
+strcpy
+strchr
+strncmp
+strcmp
+
+# time
+nanosleep
+
+# ctype
+_nolibc_ctype
+
+# errno
+_nolibc_errno
diff --git a/lib/ukalloc/exportsyms.uk b/lib/ukalloc/exportsyms.uk
new file mode 100644
index 0000000..c044705
--- /dev/null
+++ b/lib/ukalloc/exportsyms.uk
@@ -0,0 +1,9 @@
+uk_alloc_register
+uk_alloc_get_default
+uk_alloc_set_default
+uk_malloc_ifpages
+uk_free_ifpages
+uk_realloc_ifpages
+uk_posix_memalign_ifpages
+uk_calloc_compat
+uk_memalign_compat
diff --git a/lib/ukallocbbuddy/exportsyms.uk b/lib/ukallocbbuddy/exportsyms.uk
new file mode 100644
index 0000000..ee41a2a
--- /dev/null
+++ b/lib/ukallocbbuddy/exportsyms.uk
@@ -0,0 +1,2 @@
+uk_allocbbuddy_init
+
diff --git a/lib/ukargparse/exportsyms.uk b/lib/ukargparse/exportsyms.uk
new file mode 100644
index 0000000..8995cb1
--- /dev/null
+++ b/lib/ukargparse/exportsyms.uk
@@ -0,0 +1 @@
+uk_argnparse
diff --git a/lib/ukboot/exportsyms.uk b/lib/ukboot/exportsyms.uk
new file mode 100644
index 0000000..3edc6c6
--- /dev/null
+++ b/lib/ukboot/exportsyms.uk
@@ -0,0 +1,3 @@
+ukplat_entry_argp
+ukplat_entry
+main
diff --git a/lib/ukdebug/exportsyms.uk b/lib/ukdebug/exportsyms.uk
new file mode 100644
index 0000000..27187d2
--- /dev/null
+++ b/lib/ukdebug/exportsyms.uk
@@ -0,0 +1,8 @@
+uk_vprintk
+uk_printk
+_uk_vprintd
+_uk_printd
+uk_hexdumpsn
+uk_hexdumpf
+uk_hexdumpk
+_uk_hexdumpd
diff --git a/lib/uksched/exportsyms.uk b/lib/uksched/exportsyms.uk
new file mode 100644
index 0000000..9dc133c
--- /dev/null
+++ b/lib/uksched/exportsyms.uk
@@ -0,0 +1,15 @@
+uk_sched_default_init
+uk_sched_register
+uk_sched_get_default
+uk_sched_set_default
+uk_sched_start
+uk_sched_idle_init
+uk_sched_thread_create
+uk_sched_thread_destroy
+uk_sched_thread_sleep
+uk_sched_thread_exit
+uk_thread_init
+uk_thread_fini
+uk_thread_block_timeout
+uk_thread_block
+uk_thread_wake
diff --git a/lib/ukschedcoop/exportsyms.uk b/lib/ukschedcoop/exportsyms.uk
new file mode 100644
index 0000000..c45fd74
--- /dev/null
+++ b/lib/ukschedcoop/exportsyms.uk
@@ -0,0 +1 @@
+uk_schedcoop_init
diff --git a/lib/uktimeconv/exportsyms.uk b/lib/uktimeconv/exportsyms.uk
new file mode 100644
index 0000000..46adc8b
--- /dev/null
+++ b/lib/uktimeconv/exportsyms.uk
@@ -0,0 +1,3 @@
+uktimeconv_days_in_month
+uktimeconv_is_leap_year
+uktimeconv_bmkclock_to_nsec


--
Dr. Florian Schmidt
フローリアン・シュミット
Research Scientist,
Systems and Machine Learning Group
NEC Laboratories Europe
Kurfürsten-Anlage 36, D-69115 Heidelberg
Tel.     +49 (0)6221 4342-265
Fax:     +49 (0)6221 4342-155
e-mail:  florian.schmidt@xxxxxxxxx
============================================================
Registered at Amtsgericht Mannheim, Germany, HRB728558

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.