public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Benda XU" <heroxbd@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/libintl/
Date: Sat,  8 Jul 2023 15:22:43 +0000 (UTC)	[thread overview]
Message-ID: <1688829754.ed66572a4917c140825ef8cb0a4150bd69296d0c.heroxbd@gentoo> (raw)

commit:     ed66572a4917c140825ef8cb0a4150bd69296d0c
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  8 13:47:09 2023 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sat Jul  8 15:22:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed66572a

dev-libs/libintl: donot -fvisibility=hidden on macOS.

The linker/libtool on macOS hide symbol 'locale_charset' of libgnu.a,
even if the function was compile with

  __attribute__((__visibility__("default")))

Coincidentally, libtool specifies a set of exposed symbols to the
linker in the final stage.  So not specifying -fvisibility=hidden
during compilation does not expose extra symbols.  A comparison of
libintl.dylib before (bad) and after (good) this revision bump:

 diff -u <(nm -a libintl.8.3.0.dylib.bad) <(nm -a libintl.8.3.0.dylib.good)
--- /dev/fd/63  2023-07-08 21:08:56.000000000 +0800
+++ /dev/fd/62  2023-07-08 21:08:56.000000000 +0800
@@ -105,8 +105,8 @@
 0000000000003c30 t _alias_compare
 0000000000017aa0 s _alias_table
 0000000000016dd0 s _aliasfile.0
-0000000000008290 t _bind_textdomain_codeset
-0000000000008280 t _bindtextdomain
+0000000000008290 T _bind_textdomain_codeset
+0000000000008280 T _bindtextdomain
                  U _bsearch
 000000000001b878 b _cache_initialized.1
 000000000001b870 b _cached_languages.0
@@ -117,22 +117,22 @@
                  U _close
 000000000001cd80 b _curr_prefix
 000000000001cd78 b _curr_prefix_len
-0000000000008230 t _dcgettext
-0000000000008260 t _dcngettext
-0000000000008220 t _dgettext
-0000000000008250 t _dngettext
-00000000000162e0 t _emutls_destroy
+0000000000008230 T _dcgettext
+0000000000008260 T _dcngettext
+0000000000008220 T _dgettext
+0000000000008250 T _dngettext
 00000000000162e0 - 01 0000   FUN _emutls_destroy
-0000000000016320 t _emutls_init
+00000000000162e0 t _emutls_destroy
 0000000000016320 - 01 0000   FUN _emutls_init
-00000000000165ea s _emutls_init.cold
+0000000000016320 t _emutls_init
 00000000000165ea - 01 0000   FUN _emutls_init.cold
+00000000000165ea s _emutls_init.cold
 000000000001cda0 - 0e 0000 STSYM _emutls_key
 000000000001cda0 b _emutls_key
-000000000001b7c0 - 0d 0000 STSYM _emutls_mutex
 000000000001b7c0 d _emutls_mutex
-000000000001cd98 b _emutls_size
+000000000001b7c0 - 0d 0000 STSYM _emutls_mutex
 000000000001cd98 - 0e 0000 STSYM _emutls_size
+000000000001cd98 b _emutls_size
 000000000001b860 b _enable_secure
                  U _fclose
                  U _fgets
@@ -151,7 +151,7 @@
                  U _getenv
                  U _geteuid
                  U _getgid
-0000000000008210 t _gettext
+0000000000008210 T _gettext
                  U _getuid
 0000000000008e30 T _gl_get_setlocale_null_lock
                  U _kCFPreferencesCurrentApplication
@@ -168,19 +168,19 @@
 0000000000001b40 T _libintl_bind_textdomain_codeset
 0000000000001b00 T _libintl_bindtextdomain
 0000000000001b80 T _libintl_dcgettext
-00000000000057c0 t _libintl_dcigettext
+00000000000057c0 T _libintl_dcigettext
 00000000000165b8 s _libintl_dcigettext.cold
 00000000000061c0 T _libintl_dcngettext
 0000000000001b90 T _libintl_dgettext
 00000000000061d0 T _libintl_dngettext
 0000000000001ba0 T _libintl_gettext
-0000000000001e80 t _libintl_hash_string
+0000000000001e80 T _libintl_hash_string
 0000000000007f00 T _libintl_newlocale
 00000000000061e0 T _libintl_ngettext
-000000000001b5c8 d _libintl_nl_current_default_domain
-0000000000016e00 s _libintl_nl_default_default_domain
-0000000000016de0 s _libintl_nl_default_dirname
-000000000001cdb0 s _libintl_nl_domain_bindings
+000000000001b5c8 D _libintl_nl_current_default_domain
+0000000000016e00 S _libintl_nl_default_default_domain
+0000000000016de0 S _libintl_nl_default_dirname
+000000000001cdb0 S _libintl_nl_domain_bindings
 0000000000010ac0 T _libintl_set_relocation_prefix
 00000000000077a0 T _libintl_setlocale
 00000000000165c2 s _libintl_setlocale.cold
@@ -188,7 +188,7 @@
 00000000000165a6 s _libintl_textdomain.cold
 000000000001b700 D _libintl_version
 000000000001b808 b _locale_alias_path.1
-00000000000083a0 t _locale_charset
+00000000000083a0 T _locale_charset
 00000000000170e0 s _locales_with_principal_language
 0000000000017520 s _locales_with_principal_territory
 000000000001b360 d _lock
@@ -208,7 +208,7 @@
                  U _munmap
 000000000001b760 d _mutex
                  U _newlocale
-0000000000008240 t _ngettext
+0000000000008240 T _ngettext
                  U _nl_langinfo
 000000000001b818 b _nmap
 000000000001b7a0 d _once.0
@@ -270,7 +270,7 @@
                  U _strtoul
 000000000001b8c0 b _struniq_hash_table
 000000000001b720 d _struniq_lock
-0000000000008270 t _textdomain
+0000000000008270 T _textdomain
                  U _tfind
 0000000000004d40 t _transcmp
 000000000001b5e0 d _tree_lock

All the important symbols are correctly exposed.

Bug: https://bugs.gentoo.org/906507
Closes: https://github.com/gentoo/gentoo/pull/31803
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>

 dev-libs/libintl/{libintl-0.22.ebuild => libintl-0.22-r1.ebuild} | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/dev-libs/libintl/libintl-0.22.ebuild b/dev-libs/libintl/libintl-0.22-r1.ebuild
similarity index 92%
rename from dev-libs/libintl/libintl-0.22.ebuild
rename to dev-libs/libintl/libintl-0.22-r1.ebuild
index e27a8e2c642e..088132978a4b 100644
--- a/dev-libs/libintl/libintl-0.22.ebuild
+++ b/dev-libs/libintl/libintl-0.22-r1.ebuild
@@ -70,6 +70,11 @@ multilib_src_configure() {
 		$(use_enable static-libs static)
 		$(use_enable threads)
 	)
+
+	# macOS linker/libtool seems to automatically hide all the symbols.
+	# libintl only works with a symbol list and without -fvisibility=hidden.
+	[[ ${CHOST} == *-darwin* ]] && export gl_cv_cc_visibility=no
+
 	ECONF_SOURCE="${S}" econf "${myconf[@]}"
 }
 


             reply	other threads:[~2023-07-08 15:22 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-08 15:22 Benda XU [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-09  7:15 [gentoo-commits] repo/gentoo:master commit in: dev-libs/libintl/ Sam James
2025-02-09  6:10 Sam James
2024-12-09 10:56 Arthur Zamarin
2024-12-03 11:14 Sam James
2024-10-05 14:32 Arthur Zamarin
2024-10-05 14:32 Arthur Zamarin
2024-10-05 14:32 Arthur Zamarin
2024-10-05 14:32 Arthur Zamarin
2024-10-05 14:32 Arthur Zamarin
2024-10-05 14:32 Arthur Zamarin
2024-02-22  6:58 Sam James
2024-02-02  4:21 Ionen Wolkens
2024-02-02  4:21 Ionen Wolkens
2024-02-02  4:21 Ionen Wolkens
2024-02-02  4:21 Ionen Wolkens
2024-01-18  8:06 Florian Schmaus
2024-01-03  2:20 Ionen Wolkens
2023-12-28  4:04 Sam James
2023-12-21  0:07 Ionen Wolkens
2023-12-19  5:19 Sam James
2023-11-20  8:24 Sam James
2023-10-06  3:14 Sam James
2023-09-21 13:15 Sam James
2023-09-19  9:06 Sam James
2023-06-19 22:06 Sam James
2023-02-26 22:23 Sam James
2022-12-26  8:35 Sam James
2022-12-02  7:25 Arthur Zamarin
2022-12-02  7:25 Arthur Zamarin
2022-11-25  9:52 Arthur Zamarin
2022-11-25  9:52 Arthur Zamarin
2022-11-25  9:52 Arthur Zamarin
2022-11-25  9:52 Arthur Zamarin
2022-05-30  2:49 Sam James
2022-04-09  2:35 Sam James
2022-04-07  0:46 Sam James
2021-02-15  9:03 Andreas Sturmlechner
2020-12-27 14:21 Fabian Groffen
2020-12-02 22:39 Sam James
2020-08-31 20:28 Sam James
2020-08-31 19:58 Sam James
2020-08-31 19:55 Sam James
2020-08-31 19:51 Sam James
2020-08-31 19:50 Sam James
2020-08-31 19:49 Sam James
2020-08-31 19:45 Sam James
2020-08-31 19:40 Sam James
2020-08-31 19:37 Sam James
2020-08-30  1:32 Thomas Deutschmann
2020-08-14 22:23 Sam James
2020-07-27  7:46 Lars Wendler
2020-07-23 21:52 Sam James
2019-12-28 15:40 Mikle Kolyada
2019-07-29 23:29 Aaron Bauman
2019-07-23 21:25 Sergei Trofimovich
2019-07-22 13:51 Mikle Kolyada
2019-07-22 13:51 Mikle Kolyada
2019-07-22 13:51 Mikle Kolyada
2019-07-02  8:19 Sergei Trofimovich
2019-06-05 13:46 Agostino Sarubbo
2019-05-16 23:56 Thomas Deutschmann
2019-05-15 14:54 Mikle Kolyada
2019-05-14 11:24 Lars Wendler
2016-06-15 14:14 Mike Frysinger
2016-06-12  9:46 Lars Wendler
2016-06-11  7:14 Jeroen Roovers
2016-06-11  7:05 Jeroen Roovers
2016-06-10  6:50 Lars Wendler
2016-06-04 16:37 Anthony G. Basile
2016-06-01 15:13 Tobias Klausmann
2016-05-31 17:33 Anthony G. Basile
2016-05-31 17:17 Anthony G. Basile
2016-01-28 22:35 Mike Frysinger
2016-01-05 19:27 Fabian Groffen
2015-10-13  0:54 Mike Frysinger

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=1688829754.ed66572a4917c140825ef8cb0a4150bd69296d0c.heroxbd@gentoo \
    --to=heroxbd@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox