From a1160052227cb9659d54002a47d9f30519def5c1 Mon Sep 17 00:00:00 2001
From: Philipp Stephani
Date: Fri, 12 Jun 2026 15:25:50 +0200
Subject: [PATCH] Use __attribute__((used)) when available
---
elisp/proto/module.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/elisp/proto/module.c b/elisp/proto/module.c
index 3eb92225f..98ad6a32a 100644
--- a/elisp/proto/module.c
+++ b/elisp/proto/module.c
@@ -4368,7 +4368,15 @@ enum InitializationResult {
# define VISIBLE
#endif
-int VISIBLE emacs_module_init(struct emacs_runtime* rt) {
+#if ABSL_HAVE_ATTRIBUTE(used)
+# define USED __attribute__((used))
+#else
+# define USED
+#endif
+
+#define EXPORT VISIBLE USED
+
+int EXPORT emacs_module_init(struct emacs_runtime* rt) {
enum {
kMinimumRuntimeSize = sizeof *rt,
kMinimumEnvironmentSize = sizeof(struct emacs_env_29)
@@ -4814,6 +4822,8 @@ int VISIBLE emacs_module_init(struct emacs_runtime* rt) {
return kSuccess;
}
-int VISIBLE plugin_is_GPL_compatible = 1;
+int EXPORT plugin_is_GPL_compatible = 1;
#undef VISIBLE
+#undef USED
+#undef EXPORT