Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more export symbol to HalideIR #45

Merged
merged 4 commits into from
Jan 25, 2019
Merged

Conversation

Anthony-Mai
Copy link
Contributor

template<> void ExprNode::accept(IRVisitor *v, const Expr& e) needs to be export now because of recent commit apache/tvm@859bda8

Anthony-Mai and others added 4 commits January 15, 2019 18:07
By default, compilation of Linux shared library modules (*.so files)
exports all symbols. This creates large module files as the export
symbol tables contains too many entries. The correct approach is
export nothing by default and anything that needs to be exported
must be explicitly specified. This is accomplished by the following
steps:

1. In the Makefile, add "-fvisibility=hidden" flag. You can search
   for "-fPIC" to find the appropriate place to add the flag. This
   hides symbols by default if not explicitly specified otherwise.

2. To declaration of any symbol to be exported, add this attribute:
      __attribute__((visibility("default")))
   The attribute string can be added using a macro definition. It
   should be added right before the return type for functions, or
   right after the 'class' or 'struct' keyword for class/struct.

For more info on shared module export symbol visibility read:
    http://anadoxin.org/blog/control-over-symbol-exports-in-gcc.html
… all symbols

which is inefficient, and change was make to do explicit exports. So now some of
the symbols become unresolved external symbols and need to be explicitly exported.
@tqchen tqchen merged commit 97efb11 into dmlc:master Jan 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants