From fcd3630e056647a167fd7dbb0ad854faea8aa2c2 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 16 Dec 2020 18:42:41 +0000 Subject: [PATCH] No-op if not all required plugin hooks are available. --- ld/libdep_plugin.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/ld/libdep_plugin.c b/ld/libdep_plugin.c index 2a7fdc4d0b..42b7844c9c 100644 --- a/ld/libdep_plugin.c +++ b/ld/libdep_plugin.c @@ -339,27 +339,13 @@ onload (struct ld_plugin_tv *tv) while ((tv++)->tv_tag != LDPT_NULL); /* Register hooks. */ - if (!tv_register_claim_file) + if (tv_register_claim_file && tv_register_all_symbols_read && + tv_register_cleanup) { - TV_MESSAGE (LDPL_FATAL, "No register_claim_file hook"); - fflush (NULL); - return LDPS_ERR; - } - (*tv_register_claim_file) (onclaim_file); - if (!tv_register_all_symbols_read) - { - TV_MESSAGE (LDPL_FATAL, "No register_all_symbols_read hook"); - fflush (NULL); - return LDPS_ERR; - } - (*tv_register_all_symbols_read) (onall_symbols_read); - if (!tv_register_cleanup) - { - TV_MESSAGE (LDPL_FATAL, "No register_cleanup hook"); - fflush (NULL); - return LDPS_ERR; + (*tv_register_claim_file) (onclaim_file); + (*tv_register_all_symbols_read) (onall_symbols_read); + (*tv_register_cleanup) (oncleanup); } - (*tv_register_cleanup) (oncleanup); fflush (NULL); return LDPS_OK; } -- 2.25.1