From: Triang3l <triang3l@yandex.ru>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility
Date: Mon, 11 Jul 2022 15:32:32 +0300
Message-ID: <defe45f1-3cb0-75be-2494-1de273ea80b9@yandex.ru> (raw)
In-Reply-To: <CAFGUN0ryaY-a1=3nYtVOGdO61YOu+sESrRX4=2eLkYoRTvb9YA@mail.gmail.com>
Yes, making everything except for av_ hidden by default would be more
consistent with the current build process, which includes libavcodec.v.
Though, this is a special case that results not only in increasing the
shared object file size if libavcodec.v is not used, which is
undesirable, yet harmless, but also in making the library not linkable
with PIC at all unless those symbols are hidden or forced to be resolved
at link time some other way.
Thanks for implementing the fix very quickly, by the way!
I'd also suggest writing a comment in the code describing specifically
the original issue that the current instances of the usage of
visibility("hidden") resolves, so the reason why it's used there is not
forgotten, and there's a clear pattern of relation between movrel X()
and av_visibility_hidden to follow when adding new assembly code. Though
if the convention is to rely on `git blame` for this purpose, that
shouldn't be necessary.
— Triang3l
On 11/07/2022 15:12, Henrik Gramner wrote:
> On Mon, Jul 11, 2022 at 11:19 AM Martin Storsjö <martin@martin.st> wrote:
>> +#if (AV_GCC_VERSION_AT_LEAST(4,0) || defined(__clang__)) && (defined(__ELF__) || defined(__MACH__))
>> +# define av_visibility_hidden __attribute__((visibility("hidden")))
>> +#else
>> +# define av_visibility_hidden
>> +#endif
> The usual approach is to compile with -fvisibility=hidden and
> explicitly flag exported API symbols.
>
> Is there a reason for doing this the other way around?
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2022-07-11 12:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-11 9:18 Martin Storsjö
2022-07-11 9:18 ` [FFmpeg-devel] [PATCH 2/2] libavcodec: Set hidden visibility on global symbols accessed from AArch64 assembly Martin Storsjö
2022-07-11 10:58 ` Andreas Rheinhardt
2022-07-11 10:20 ` [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility Andreas Rheinhardt
2022-07-11 10:40 ` Martin Storsjö
2022-07-11 10:57 ` Andreas Rheinhardt
2022-07-13 11:27 ` Anton Khirnov
2022-07-11 12:12 ` Henrik Gramner
2022-07-11 12:32 ` Triang3l [this message]
2022-07-11 14:26 ` Andreas Rheinhardt
2022-07-11 16:51 ` Timo Rothenpieler
2022-07-11 16:57 ` Andreas Rheinhardt
2022-07-11 21:41 ` Martin Storsjö
2022-07-11 21:42 ` Martin Storsjö
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=defe45f1-3cb0-75be-2494-1de273ea80b9@yandex.ru \
--to=triang3l@yandex.ru \
--cc=ffmpeg-devel@ffmpeg.org \
/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
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git