hammock: Fix: --gdbindex && --dwz
[nethome.git] / bin / hammock
index b4e440d..d1de04f 100755 (executable)
@@ -498,6 +498,7 @@ while (@distrouse || keys(%child)) {
       $errs12.=" -s" if $strip;
       $errs12.=" --target=$target" if $target;
       #$errs12.=" --disable-binutils --disable-gas --disable-gold --disable-gprof --disable-ld";
+      #$errs12.=" --binutils" if $gdbindex; # for objcopy but that is needed only for cross-targets
       $errs12.=" $options" if $options;
       $errs12.=" $configure" if $configure;
 
@@ -529,6 +530,18 @@ while (@distrouse || keys(%child)) {
          # .(!$valgrind?"":' RUNTESTFLAGS=--target_board=valgrind')
          # .(!$valgrind?"":' HAMMOCK_VALGRIND=1')
          # .(!$valgrind?"":' --without-python')        # FIXME: Fix valgrind --suppressions
+       if ($gdbindex||$dwz) {
+         for my $key (keys(%flags)) {
+           writefile "$baretestsuite/hammock-$key",''
+             .' GDB="'.$baretestsuite.'/gdb/gdb -data-directory '.$baretestsuite.'/gdb/data-directory"'
+             .' GDB_ADD_INDEX='.$baretestsuite.'/gdb/contrib/gdb-add-index.sh'
+             .' '.$baretestsuite.'/gdb/contrib/cc-with-tweaks.sh '
+               .(!$gdbindex?'':' -i')
+               .(!$dwz?'':' -m')
+               .' '.$flags{$key}.' "$@"'
+             ."\n";
+         }
+       }
        mockrun "cd $baretestsuite;"
                ." $errs12"
                .(!$bfd32?"":' --disable-64-bit-bfd')
@@ -538,11 +551,7 @@ while (@distrouse || keys(%child)) {
                ." RUNTESTFLAGS=DUMMY=dummy"
                .(!$gdbserver?"":' RUNTESTFLAGS=--target_board=native-gdbserver')
                # Missing GNATMAKE_FOR_TARGET!
-               .(!($gdbindex||$dwz)?"":' RUNTESTFLAGS="'.join(' ',map($_.'=/bin/sh\ $PWD/contrib/cc-with-tweaks.sh'
-                   .(!$gdbindex?"":'\ -i')
-                   .(!$dwz?"":'\ -m')
-                 .'\ '.$flags{$_},keys(%flags))).'"')
-               #.(!$gdbindex?"":' RUNTESTFLAGS="'.join(' ',map($_.'=/bin/sh\ $PWD/cc-with-index.sh\ '.$flags{$_},keys(%flags))).'"')
+               .(!($gdbindex||$dwz)?"":' RUNTESTFLAGS="'.join(' ',map("$_=/bin/sh\\ $baretestsuite/hammock-$_",keys(%flags))).'"')
                .(!$dwarf?"":runtestcc "-gdwarf-$dwarf".(!defined $debug_types_section?"":'\ '.($debug_types_section?"-fdebug-types-section":"-fno-debug-types-section"))." -g0")
                .(!$optimg?"":runtestcc "-Og -g0")
                .(!$stabs?"":runtestcc(($stabs==1?"-gstabs":"-gstabs+")." -g0"))