Opened 14 years ago
Closed 11 years ago
#2421 closed patch (fixed)
Add GCC >= gcc 4 support for default hidden/explicit public
Reported by: | Anduin Withers | Owned by: | Anduin Withers |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | MythTV - General | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Submitted largely so people can look it over and make me not commit it.
This patch adds a new --enable-symbol-visibility switch to configure which turns on use_hidesyms which selectively turns on -fvisibility=hidden (currently selectively because only libmyth and libmythtv are close to done, external libs will never be done).
Objectives:
Smaller symbol tables An explicit API
Deficiencies:
Only the symbols I absolutely needed plus reasonable guesses are here (basically most of the stuff that would be exposed through mythtv/ includes). If you use this patch and find some I missed let me know.
Attachments (1)
Change History (23)
Changed 14 years ago by
Attachment: | hidden.patch added |
---|
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
comment:3 Changed 14 years ago by
comment:4 Changed 14 years ago by
getting follwing after this commit....
../../libs/libmythui/libmythui-0.20.so: undefined reference to `JoystickMenuClient::Init(QString&)' ../../libs/libmythui/libmythui-0.20.so: undefined reference to `JoystickMenuClient::JoystickMenuClient?(QObject*)' ../../libs/libmythui/libmythui-0.20.so: undefined reference to `JoystickMenuClient::Process()'
comment:6 Changed 14 years ago by
- Export GetInstallPrefixPath?
- Slide in -pedantic fix while I'm here
comment:12 Changed 13 years ago by
comment:13 Changed 12 years ago by
comment:14 Changed 12 years ago by
Status: | new → assigned |
---|
comment:18 Changed 12 years ago by
comment:20 Changed 11 years ago by
Component: | mythtv → MythTV - General |
---|
Anduin, is this unfinished or can the ticket now be closed?
comment:21 Changed 11 years ago by
comment:22 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
We've done lots of symbol visibility fixes. We can deal with any new ones on a case by case basis.
(In [11469]) References #2421
First of n patches to get explicit symbol visibility in myth (for use with newer gcc).
If you do not enable it, this should only make you rebuild everything. To enable it you must run configure with --enable-symbol-visibility.
This commit introduces the new mythpluginapi.h. The purpose of this header is to provide prototypes for the plugin entry points (previously every plugin prototyped them). Existing plugins should include this file (I'll be updating them soon).
If you enable this, expect to find symbols I've somehow missed, report them.
Why? Cleaner, smaller, tables. Everyone likes clean tables.