[binutils-gdb/binutils-2_39-branch] gprofng: fix bug 29351 - Move dynamic loading of modules to a later stage

Vladimir Mezentsev vmezents@sourceware.org
Mon Jul 25 21:53:59 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bf73d754c6320be943c6b9842b7696dc9df87eb0

commit bf73d754c6320be943c6b9842b7696dc9df87eb0
Author: Ruud van der Pas <ruud.vanderpas@oracle.com>
Date:   Fri Jul 22 06:32:51 2022 -0700

    gprofng: fix bug 29351 - Move dynamic loading of modules to a later stage
    
    gprofng/Changelog:
    2022-07-22  Ruud van der Pas  <ruud.vanderpas@oracle.com>
    
            PR gprofng/29351
            * gp-display-html/gp-display-html.in: the dynamic loading of
            modules occurred too early, resulting in the generation of the
            man page to fail in case a module is missing; the loading part is
            now done somewhat later in the execution to avoid this problem.

Diff:
---
 gprofng/gp-display-html/gp-display-html.in | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gprofng/gp-display-html/gp-display-html.in b/gprofng/gp-display-html/gp-display-html.in
index 54a87d7a3c7..9b207b99aa8 100644
--- a/gprofng/gp-display-html/gp-display-html.in
+++ b/gprofng/gp-display-html/gp-display-html.in
@@ -8852,6 +8852,8 @@ sub handle_module_availability
 {
   my $subr_name = get_my_name ();
 
+  gp_message ("verbose", $subr_name, "Handling module requirements");
+
 #------------------------------------------------------------------------------
 # This is clunky at best, but there is a chicken egg problem here.  For the
 # man page to be generated, the --help and --version options need to work,
@@ -8868,7 +8870,9 @@ sub handle_module_availability
                       "List::Util", 
                       "Cwd", 
                       "File::Basename", 
+                      "File::stat", 
                       "POSIX", 
+                      "bigint", 
                       "bignum");
 
   my @missing_modules = ();
@@ -8895,12 +8899,17 @@ sub handle_module_availability
             {
               $cmd = $m . "->import ( qw (min max))";
             }
+          elsif ($m eq "bigint")
+            {
+              $cmd = $m . "->import ( qw (hex))";
+            }
           else
             {
               $cmd = $m . "->import";
             }
           $cmd .= ";";
           $result = eval ("$cmd");
+          gp_message ("debugM", $subr_name, "cmd = $cmd");
         }
       else
         {


More information about the Binutils-cvs mailing list