Tarantool development patches archive
 help / color / mirror / Atom feed
From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
To: tarantool-patches@dev.tarantool.org, tsafin@tarantool.org
Subject: [Tarantool-patches] [PATCH v2 0/2] Unhide symbols
Date: Sat, 18 Apr 2020 01:48:41 +0200	[thread overview]
Message-ID: <cover.1587167063.git.v.shpilevoy@tarantool.org> (raw)

The patchset makes Tarantool stop hiding not explicitly exported
symbols.

It means, all FFI and public C API related symbols are still
always exported. All the other symbols may be exported, or may be
not.

That feature was requested solely by Mons.

To make the needed symbols visible the hack with function
addresses was returned back, like it was before
https://github.com/tarantool/tarantool/commit/4c4c1ccbe422e1420ce0c0b36194fc61bb857ed4,
but with 0 dependencies in the export file.

Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-2971-symbols-v2
Issue: https://github.com/tarantool/tarantool/issues/2971

@ChangeLog
- Symbols of tarantool executable are not masked anymore. Some
  private symbols may become visible and available for FFI and
  dlopen() + dlsym() (gh-2971).

Changes in v2:
- All exports are moved to one file for simplicity.

Vladislav Shpilevoy (2):
  cmake: remove double usage of some source files
  cmake: remove dynamic-list linker option

 .gitignore                                  |   1 -
 extra/exports                               | 404 ----------------
 src/CMakeLists.txt                          |  57 +--
 src/box/CMakeLists.txt                      |   7 +-
 src/exports.c                               | 511 ++++++++++++++++++++
 src/lib/small                               |   2 +-
 src/main.cc                                 |   5 +
 test/box/gh-2971-symbol-visibility.result   |  22 +
 test/box/gh-2971-symbol-visibility.test.lua |  14 +
 9 files changed, 563 insertions(+), 460 deletions(-)
 delete mode 100644 extra/exports
 create mode 100644 src/exports.c
 create mode 100644 test/box/gh-2971-symbol-visibility.result
 create mode 100644 test/box/gh-2971-symbol-visibility.test.lua

-- 
2.21.1 (Apple Git-122.3)

             reply	other threads:[~2020-04-17 23:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-17 23:48 Vladislav Shpilevoy [this message]
2020-04-17 23:48 ` [Tarantool-patches] [PATCH v2 1/2] cmake: remove double usage of some source files Vladislav Shpilevoy
2020-04-18  9:22   ` Timur Safin
2020-04-18 16:51     ` Vladislav Shpilevoy
2020-04-17 23:48 ` [Tarantool-patches] [PATCH v2 2/2] cmake: remove dynamic-list linker option Vladislav Shpilevoy
2020-04-18 12:39   ` Timur Safin
2020-04-18 16:51     ` Vladislav Shpilevoy
2020-04-18 22:07       ` Timur Safin
2020-04-22 22:08 ` [Tarantool-patches] [PATCH v2 0/2] Unhide symbols Vladislav Shpilevoy
2020-04-22 23:27   ` Timur Safin
2020-04-24  7:47     ` Kirill Yukhin
2020-04-27 10:44 ` Timur Safin
2020-04-27 21:38   ` Vladislav Shpilevoy
2020-04-27 22:58   ` Vladislav Shpilevoy
2020-05-18 21:32 ` Vladislav Shpilevoy
2020-05-19  9:02 ` Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1587167063.git.v.shpilevoy@tarantool.org \
    --to=v.shpilevoy@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=tsafin@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v2 0/2] Unhide symbols' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox