Page MenuHome

Fix: oidn exporting its symbols in blender.
ClosedPublic

Authored by Ray Molenkamp (LazyDodo) on Jan 21 2020, 11:20 PM.

Details

Summary

oidn has a dllexport attribute on all its symbols causing
blender to export them out of the binary.

This patch fixes this

D6645 ,D6563, and D6646 fixed similar issues.

Diff Detail

Repository
rB Blender

Event Timeline

This revision is now accepted and ready to land.Jan 22 2020, 9:52 AM
build_files/build_environment/patches/openimagedenoise.diff
130

Shouldn't we also "hide" symbols on non-windows?

build_files/build_environment/patches/openimagedenoise.diff
130

Dunno, depends a bit on how clean of a ship we'd want to run, symbol visibility on gcc for the longest time was EXPORT ALL THE THINGS! and it still is unless you pass -fvisibility=hidden

`#nm -D ./blender | grep " T " | wc -l
84291`

seems to indicate that symbol visibility is not something we have looked at in the past on linux.

Sergey Sharybin (sergey) added inline comments.
build_files/build_environment/patches/openimagedenoise.diff
130

Seems to indicate that symbol visibility is not something we have looked at in the past on Linux.

That is correct.

Just a bit weird we start addressing it on Windows but not on Linux.
But can do it when Linux time have time to make sure everything works. No need to hold Windows changes.

Was just curious, you know ;)

I have to admit, i never bothered to check on windows either until i recently needed to check if NvOptimusEnablement was still being exported and couldn't easily spot it in the list of 35k symbol exports that had no business being exported.

hence the cleanup :)