summaryrefslogtreecommitdiff
path: root/load.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-05-14 22:53:42 -0400
committerPaul Smith <psmith@gnu.org>2013-05-14 22:53:42 -0400
commitc21c1455fdfc6e87d75941f48841c72903e1e0f4 (patch)
tree07578812e5d846bc943a114db1c3f37a99079982 /load.c
parent58dae243526bd322ae6bec0c4394a117a5fe0171 (diff)
downloadgunmake-c21c1455fdfc6e87d75941f48841c72903e1e0f4.tar.gz
Add requirement for plugin_is_GPL_compatible symbol in loaded objects.
Diffstat (limited to 'load.c')
-rw-r--r--load.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/load.c b/load.c
index f20c1c7..655928a 100644
--- a/load.c
+++ b/load.c
@@ -71,6 +71,12 @@ load_object (const gmk_floc *flocp, int noerror,
return NULL;
}
+ /* Assert that the GPL license symbol is defined. */
+ symp = dlsym (*dlp, "plugin_is_GPL_compatible");
+ if (! symp)
+ fatal (flocp, _("Loaded object %s is not declared to be GPL compatible"),
+ ldname);
+
symp = dlsym (*dlp, symname);
if (! symp)
fatal (flocp, _("Failed to load symbol %s from %s: %s"),