user   Documents  windows-vs-linux-loader-architecture  atexit-test  gdb ./main                  main 
Reading symbols from ./main...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
(No debugging symbols found in ./main)                                                                                 
(gdb) run
Starting program: /home/user/Documents/windows-vs-linux-loader-architecture/atexit-test/main 
[Thread debugging using libthread_db enabled]                                                                          
Using host libthread_db library "/lib64/libthread_db.so.1".
Library 1 loaded successfully!                                                                                         

Library 2 loaded successfully!                                                                                         

Running atexit handler of program!


Program received signal SIGTRAP, Trace/breakpoint trap.
0x000000000040116a in programFunc ()
(gdb) backtrace
#0  0x000000000040116a in programFunc ()
#1  0x00007ffff7e101e6 in __run_exit_handlers (status=0, listp=<optimized out>, 
    run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:111
#2  0x00007ffff7e1032e in __GI_exit (status=<optimized out>) at exit.c:141
#3  0x00007ffff7df7b91 in __libc_start_call_main (main=main@entry=0x40117f <main>, argc=argc@entry=1, 
    argv=argv@entry=0x7fffffffe078) at ../sysdeps/nptl/libc_start_call_main.h:74
#4  0x00007ffff7df7c4b in __libc_start_main_impl (main=0x40117f <main>, argc=1, argv=0x7fffffffe078, 
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe068)
    at ../csu/libc-start.c:360
#5  0x0000000000401095 in _start ()
(gdb) set print pretty
(gdb) print __exit_funcs_lock
$1 = 0
(gdb) print _rtld_global
$2 = {
  _dl_ns = {{
      _ns_loaded = 0x7ffff7ffe2d0,
      _ns_nloaded = 6,
      _ns_main_searchlist = 0x7ffff7ffe5a8,
      _ns_global_scope_alloc = 0,
      _ns_global_scope_pending_adds = 0,
      libc_map = 0x7ffff7fc20f0,
      _ns_unique_sym_table = {
        lock = {
          mutex = {
            __data = {
              __lock = 0,
              __count = 0,
              __owner = 0,
              __nusers = 0,
              __kind = 1,
              __spins = 0,
              __elision = 0,
              __list = {
                __prev = 0x0,
                __next = 0x0
              }
            },
            __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
            __align = 0
          }
        },
        entries = 0x0,
        size = 0,
        n_elements = 0,
        free = 0x0
      },
      _ns_debug = {
        base = {
          r_version = 0,
          r_map = 0x0,
          r_brk = 0,
          r_state = RT_CONSISTENT,
          r_ldbase = 0
        },
        r_next = 0x0
      }
    }, {
      _ns_loaded = 0x0,
      _ns_nloaded = 0,
      _ns_main_searchlist = 0x0,
      _ns_global_scope_alloc = 0,
      _ns_global_scope_pending_adds = 0,
      libc_map = 0x0,
      _ns_unique_sym_table = {
        lock = {
          mutex = {
            __data = {
              __lock = 0,
              __count = 0,
              __owner = 0,
              __nusers = 0,
              __kind = 0,
              __spins = 0,
              __elision = 0,
              __list = {
                __prev = 0x0,
                __next = 0x0
              }
            },
            __size = '\000' <repeats 39 times>,
            __align = 0
          }
        },
        entries = 0x0,
        size = 0,
        n_elements = 0,
        free = 0x0
      },
      _ns_debug = {
        base = {
          r_version = 0,
          r_map = 0x0,
          r_brk = 0,
          r_state = RT_CONSISTENT,
          r_ldbase = 0
        },
        r_next = 0x0
      }
    } <repeats 15 times>},
  _dl_nns = 1,
  _dl_load_lock = {
    mutex = {
      __data = {
        __lock = 0,
        __count = 0,
        __owner = 0,
        __nusers = 0,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
      __align = 0
    }
  },
  _dl_load_write_lock = {
    mutex = {
      __data = {
        __lock = 0,
        __count = 0,
        __owner = 0,
        __nusers = 0,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
      __align = 0
    }
  },
  _dl_load_tls_lock = {
    mutex = {
      __data = {
        __lock = 0,
        __count = 0,
        __owner = 0,
        __nusers = 0,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
      __align = 0
    }
  },
  _dl_load_adds = 6,
  _dl_initfirst = 0x0,
  _dl_profile_map = 0x0,
  _dl_num_relocations = 112,
  _dl_num_cache_relocations = 7,
  _dl_all_dirs = 0x7ffff7fc2050,
  _dl_rtld_map = {
    l_addr = 140737353916416,
    l_name = 0x400318 "/lib64/ld-linux-x86-64.so.2",
    l_ld = 0x7ffff7ffce40,
    l_next = 0x405300,
    l_prev = 0x7ffff7fc20f0,
    l_real = 0x7ffff7ffdab0 <_rtld_local+2736>,
    l_ns = 0,
    l_libname = 0x7ffff7ffe270 <_dl_rtld_libname>,
    l_info = {0x0, 0x0, 0x0, 0x0, 0x7ffff7ffce50, 0x7ffff7ffce70, 0x7ffff7ffce80, 0x7ffff7ffceb0, 0x7ffff7ffcec0, 
      0x7ffff7ffced0, 0x7ffff7ffce90, 0x7ffff7ffcea0, 0x0, 0x0, 0x7ffff7ffce40, 0x0 <repeats 15 times>, 
      0x7ffff7ffcf00, 0x0, 0x0, 0x0, 0x0, 0x7ffff7ffcf40, 0x7ffff7ffcf30, 0x7ffff7ffcf50, 0x0, 0x0, 0x7ffff7ffcef0, 
      0x7ffff7ffcee0, 0x7ffff7ffcf10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffff7ffcf20, 
      0x0 <repeats 25 times>, 0x7ffff7ffce60},
    l_phdr = 0x7ffff7fca040,
    l_entry = 0,
    l_phnum = 11,
    l_ldnum = 0,
    l_searchlist = {
      r_list = 0x0,
      r_nlist = 0
    },
    l_symbolic_searchlist = {
      r_list = 0x0,
      r_nlist = 0
    },
    l_loader = 0x0,
    l_versions = 0x7ffff7fc2b10,
    l_nversions = 8,
    l_nbuckets = 37,
    l_gnu_bitmask_idxbits = 3,
    l_gnu_shift = 8,
    l_gnu_bitmask = 0x7ffff7fca458,
    {
      l_gnu_buckets = 0x7ffff7fca478,
      l_chain = 0x7ffff7fca478
    },
    {
      l_gnu_chain_zero = 0x7ffff7fca508,
      l_buckets = 0x7ffff7fca508
    },
    l_direct_opencount = 0,
    l_type = lt_library,
    l_dt_relr_ref = 0,
    l_relocated = 1,
    l_init_called = 1,
    l_global = 1,
    l_reserved = 0,
    l_main_map = 0,
    l_visited = 1,
    l_map_used = 1,
    l_map_done = 0,
    l_phdr_allocated = 0,
    l_soname_added = 0,
    l_faked = 0,
    l_need_tls_init = 0,
    l_auditing = 0,
    l_audit_any_plt = 0,
    l_removed = 0,
    l_contiguous = 0,
    l_free_initfini = 0,
    l_ld_readonly = 0,
    l_find_object_processed = 0,
    l_nodelete_active = false,
    l_nodelete_pending = false,
    l_property = lc_property_unknown,
    l_x86_feature_1_and = 0,
    l_x86_isa_1_needed = 0,
    l_1_needed = 0,
    l_rpath_dirs = {
      dirs = 0x0,
      malloced = 0
    },
    l_reloc_result = 0x0,
    l_versyms = 0x7ffff7fcac02,
    l_origin = 0x0,
    l_map_start = 140737353916416,
    l_map_end = 140737354130120,
    l_init_called_next = 0x0,
    l_scope_mem = {0x0, 0x0, 0x0, 0x0},
    l_scope_max = 0,
    l_scope = 0x0,
    l_local_scope = {0x0, 0x0},
    l_file_id = {
      dev = 0,
      ino = 0
    },
    l_runpath_dirs = {
      dirs = 0x0,
      malloced = 0
    },
    l_initfini = 0x0,
    l_reldeps = 0x0,
    l_reldepsmax = 0,
    l_used = 1,
    l_feature_1 = 0,
    l_flags_1 = 0,
    l_flags = 0,
    l_idx = 0,
    l_mach = {
      plt = 0,
      gotplt = 0,
      tlsdesc_table = 0x0
    },
    l_lookup_cache = {
      sym = 0x7ffff7fca860,
      type_class = 0,
      value = 0x7ffff7ffdab0 <_rtld_local+2736>,
      ret = 0x7ffff7fca860
    },
    l_tls_initimage = 0x0,
    l_tls_initimage_size = 0,
    l_tls_blocksize = 0,
    l_tls_align = 0,
    l_tls_firstbyte_offset = 0,
    l_tls_offset = 0,
    l_tls_modid = 0,
    l_tls_dtor_count = 0,
    l_relro_addr = 203040,
    l_relro_size = 5856,
    l_serial = 0
  },
  _dl_rtld_auditstate = {{
      cookie = 0,
      bindflags = 0
    } <repeats 16 times>},
  _dl_x86_feature_1 = 0,
  _dl_x86_feature_control = {
    ibt = cet_elf_property,
    shstk = cet_elf_property
  },
  _dl_stack_flags = 6,
  _dl_tls_dtv_gaps = false,
  _dl_tls_max_dtv_idx = 1,
  _dl_tls_dtv_slotinfo_list = 0x7ffff7fc2bd0,
  _dl_tls_static_nelem = 1,
  _dl_tls_static_used = 136,
  _dl_tls_static_optional = 512,
  _dl_initial_dtv = 0x7ffff7dce0e0,
  _dl_tls_generation = 1,
  _dl_scope_free_list = 0x0,
  _dl_stack_used = {
    next = 0x7ffff7ffe0a0 <_rtld_local+4256>,
    prev = 0x7ffff7ffe0a0 <_rtld_local+4256>
  },
  _dl_stack_user = {
    next = 0x7ffff7dcda00,
    prev = 0x7ffff7dcda00
  },
  _dl_stack_cache = {
    next = 0x7ffff7ffe0c0 <_rtld_local+4288>,
    prev = 0x7ffff7ffe0c0 <_rtld_local+4288>
  },
  _dl_stack_cache_actsize = 0,
  _dl_in_flight_stack = 0,
  _dl_stack_cache_lock = 0
}
(gdb) continue
Continuing.
Running atexit handler of library 2 (dlclose invocation)!


Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7fb912d in func2 () from /home/user/Documents/windows-vs-linux-loader-architecture/atexit-test/lib2.so
(gdb) backtrace
#0  0x00007ffff7fb912d in func2 () from /home/user/Documents/windows-vs-linux-loader-architecture/atexit-test/lib2.so
#1  0x00007ffff7e0fc3d in __cxa_finalize (d=0x7ffff7fbbdf8) at cxa_finalize.c:82
#2  0x00007ffff7fb90f7 in __do_global_dtors_aux ()
   from /home/user/Documents/windows-vs-linux-loader-architecture/atexit-test/lib2.so
#3  0x00007fffffffdaf0 in ?? ()
#4  0x00007ffff7fcb0f2 in _dl_call_fini (closure_map=0x406660) at dl-call_fini.c:43
Backtrace stopped: frame did not save the PC
(gdb) print __exit_funcs_lock
$3 = 0
(gdb) print _rtld_global
$4 = {
  _dl_ns = {{
      _ns_loaded = 0x7ffff7ffe2d0,
      _ns_nloaded = 6,
      _ns_main_searchlist = 0x7ffff7ffe5a8,
      _ns_global_scope_alloc = 0,
      _ns_global_scope_pending_adds = 0,
      libc_map = 0x7ffff7fc20f0,
      _ns_unique_sym_table = {
        lock = {
          mutex = {
            __data = {
              __lock = 0,
              __count = 0,
              __owner = 0,
              __nusers = 0,
              __kind = 1,
              __spins = 0,
              __elision = 0,
              __list = {
                __prev = 0x0,
                __next = 0x0
              }
            },
            __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
            __align = 0
          }
        },
        entries = 0x0,
        size = 0,
        n_elements = 0,
        free = 0x0
      },
      _ns_debug = {
        base = {
          r_version = 0,
          r_map = 0x0,
          r_brk = 0,
          r_state = RT_CONSISTENT,
          r_ldbase = 0
        },
        r_next = 0x0
      }
    }, {
      _ns_loaded = 0x0,
      _ns_nloaded = 0,
      _ns_main_searchlist = 0x0,
      _ns_global_scope_alloc = 0,
      _ns_global_scope_pending_adds = 0,
      libc_map = 0x0,
      _ns_unique_sym_table = {
        lock = {
          mutex = {
            __data = {
              __lock = 0,
              __count = 0,
              __owner = 0,
              __nusers = 0,
              __kind = 0,
              __spins = 0,
              __elision = 0,
              __list = {
                __prev = 0x0,
                __next = 0x0
              }
            },
            __size = '\000' <repeats 39 times>,
            __align = 0
          }
        },
        entries = 0x0,
        size = 0,
        n_elements = 0,
        free = 0x0
      },
      _ns_debug = {
        base = {
          r_version = 0,
          r_map = 0x0,
          r_brk = 0,
          r_state = RT_CONSISTENT,
          r_ldbase = 0
        },
        r_next = 0x0
      }
    } <repeats 15 times>},
  _dl_nns = 1,
  _dl_load_lock = {
    mutex = {
      __data = {
        __lock = 1,
        __count = 1,
        __owner = 48797,
        __nusers = 1,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = "\001\000\000\000\001\000\000\000\235\276\000\000\001\000\000\000\001", '\000' <repeats 22 times>,
      __align = 4294967297
    }
  },
  _dl_load_write_lock = {
    mutex = {
      __data = {
        __lock = 0,
        __count = 0,
        __owner = 0,
        __nusers = 0,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
      __align = 0
    }
  },
  _dl_load_tls_lock = {
    mutex = {
      __data = {
        __lock = 0,
        __count = 0,
        __owner = 0,
        __nusers = 0,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
      __align = 0
    }
  },
  _dl_load_adds = 6,
  _dl_initfirst = 0x0,
  _dl_profile_map = 0x0,
  _dl_num_relocations = 114,
  _dl_num_cache_relocations = 7,
  _dl_all_dirs = 0x7ffff7fc2050,
  _dl_rtld_map = {
    l_addr = 140737353916416,
    l_name = 0x400318 "/lib64/ld-linux-x86-64.so.2",
    l_ld = 0x7ffff7ffce40,
    l_next = 0x405300,
    l_prev = 0x7ffff7fc20f0,
    l_real = 0x7ffff7ffdab0 <_rtld_local+2736>,
    l_ns = 0,
    l_libname = 0x7ffff7ffe270 <_dl_rtld_libname>,
    l_info = {0x0, 0x0, 0x0, 0x0, 0x7ffff7ffce50, 0x7ffff7ffce70, 0x7ffff7ffce80, 0x7ffff7ffceb0, 0x7ffff7ffcec0, 
      0x7ffff7ffced0, 0x7ffff7ffce90, 0x7ffff7ffcea0, 0x0, 0x0, 0x7ffff7ffce40, 0x0 <repeats 15 times>, 
      0x7ffff7ffcf00, 0x0, 0x0, 0x0, 0x0, 0x7ffff7ffcf40, 0x7ffff7ffcf30, 0x7ffff7ffcf50, 0x0, 0x0, 0x7ffff7ffcef0, 
      0x7ffff7ffcee0, 0x7ffff7ffcf10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffff7ffcf20, 
      0x0 <repeats 25 times>, 0x7ffff7ffce60},
    l_phdr = 0x7ffff7fca040,
    l_entry = 0,
    l_phnum = 11,
    l_ldnum = 0,
    l_searchlist = {
      r_list = 0x0,
      r_nlist = 0
    },
    l_symbolic_searchlist = {
      r_list = 0x0,
      r_nlist = 0
    },
    l_loader = 0x0,
    l_versions = 0x7ffff7fc2b10,
    l_nversions = 8,
    l_nbuckets = 37,
    l_gnu_bitmask_idxbits = 3,
    l_gnu_shift = 8,
    l_gnu_bitmask = 0x7ffff7fca458,
    {
      l_gnu_buckets = 0x7ffff7fca478,
      l_chain = 0x7ffff7fca478
    },
    {
      l_gnu_chain_zero = 0x7ffff7fca508,
      l_buckets = 0x7ffff7fca508
    },
    l_direct_opencount = 0,
    l_type = lt_library,
    l_dt_relr_ref = 0,
    l_relocated = 1,
    l_init_called = 1,
    l_global = 1,
    l_reserved = 0,
    l_main_map = 0,
    l_visited = 1,
    l_map_used = 1,
    l_map_done = 1,
    l_phdr_allocated = 0,
    l_soname_added = 0,
    l_faked = 0,
    l_need_tls_init = 0,
    l_auditing = 0,
    l_audit_any_plt = 0,
    l_removed = 0,
    l_contiguous = 0,
    l_free_initfini = 0,
    l_ld_readonly = 0,
    l_find_object_processed = 0,
    l_nodelete_active = false,
    l_nodelete_pending = false,
    l_property = lc_property_unknown,
    l_x86_feature_1_and = 0,
    l_x86_isa_1_needed = 0,
    l_1_needed = 0,
    l_rpath_dirs = {
      dirs = 0x0,
      malloced = 0
    },
    l_reloc_result = 0x0,
    l_versyms = 0x7ffff7fcac02,
    l_origin = 0x0,
    l_map_start = 140737353916416,
    l_map_end = 140737354130120,
    l_init_called_next = 0x0,
    l_scope_mem = {0x0, 0x0, 0x0, 0x0},
    l_scope_max = 0,
    l_scope = 0x0,
    l_local_scope = {0x0, 0x0},
    l_file_id = {
      dev = 0,
      ino = 0
    },
    l_runpath_dirs = {
      dirs = 0x0,
      malloced = 0
    },
    l_initfini = 0x0,
    l_reldeps = 0x0,
    l_reldepsmax = 0,
    l_used = 1,
    l_feature_1 = 0,
    l_flags_1 = 0,
    l_flags = 0,
    l_idx = -1,
    l_mach = {
      plt = 0,
      gotplt = 0,
      tlsdesc_table = 0x0
    },
    l_lookup_cache = {
      sym = 0x7ffff7fca860,
      type_class = 0,
      value = 0x7ffff7ffdab0 <_rtld_local+2736>,
      ret = 0x7ffff7fca860
    },
    l_tls_initimage = 0x0,
    l_tls_initimage_size = 0,
    l_tls_blocksize = 0,
    l_tls_align = 0,
    l_tls_firstbyte_offset = 0,
    l_tls_offset = 0,
    l_tls_modid = 0,
    l_tls_dtor_count = 0,
    l_relro_addr = 203040,
    l_relro_size = 5856,
    l_serial = 0
  },
  _dl_rtld_auditstate = {{
      cookie = 0,
      bindflags = 0
    } <repeats 16 times>},
  _dl_x86_feature_1 = 0,
  _dl_x86_feature_control = {
    ibt = cet_elf_property,
    shstk = cet_elf_property
  },
  _dl_stack_flags = 6,
  _dl_tls_dtv_gaps = false,
  _dl_tls_max_dtv_idx = 1,
  _dl_tls_dtv_slotinfo_list = 0x7ffff7fc2bd0,
  _dl_tls_static_nelem = 1,
  _dl_tls_static_used = 136,
  _dl_tls_static_optional = 512,
  _dl_initial_dtv = 0x7ffff7dce0e0,
  _dl_tls_generation = 1,
  _dl_scope_free_list = 0x0,
  _dl_stack_used = {
    next = 0x7ffff7ffe0a0 <_rtld_local+4256>,
    prev = 0x7ffff7ffe0a0 <_rtld_local+4256>
  },
  _dl_stack_user = {
    next = 0x7ffff7dcda00,
    prev = 0x7ffff7dcda00
  },
  _dl_stack_cache = {
    next = 0x7ffff7ffe0c0 <_rtld_local+4288>,
    prev = 0x7ffff7ffe0c0 <_rtld_local+4288>
  },
  _dl_stack_cache_actsize = 0,
  _dl_in_flight_stack = 0,
  _dl_stack_cache_lock = 0
}
(gdb) continue
Continuing.
Running atexit handler of library 1!


Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7fbe12d in func1 () from /home/user/Documents/windows-vs-linux-loader-architecture/atexit-test/lib1.so
(gdb) backtrace
#0  0x00007ffff7fbe12d in func1 () from /home/user/Documents/windows-vs-linux-loader-architecture/atexit-test/lib1.so
#1  0x00007ffff7e101e6 in __run_exit_handlers (status=0, listp=<optimized out>, 
    run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:111
#2  0x00007ffff7e1032e in __GI_exit (status=<optimized out>) at exit.c:141
#3  0x00007ffff7df7b91 in __libc_start_call_main (main=main@entry=0x40117f <main>, argc=argc@entry=1, 
    argv=argv@entry=0x7fffffffe078) at ../sysdeps/nptl/libc_start_call_main.h:74
#4  0x00007ffff7df7c4b in __libc_start_main_impl (main=0x40117f <main>, argc=1, argv=0x7fffffffe078, 
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe068)
    at ../csu/libc-start.c:360
#5  0x0000000000401095 in _start ()
(gdb) print __exit_funcs_lock
$5 = 0
(gdb) print _rtld_global
$6 = {
  _dl_ns = {{
      _ns_loaded = 0x7ffff7ffe2d0,
      _ns_nloaded = 5,
      _ns_main_searchlist = 0x7ffff7ffe5a8,
      _ns_global_scope_alloc = 0,
      _ns_global_scope_pending_adds = 0,
      libc_map = 0x7ffff7fc20f0,
      _ns_unique_sym_table = {
        lock = {
          mutex = {
            __data = {
              __lock = 0,
              __count = 0,
              __owner = 0,
              __nusers = 0,
              __kind = 1,
              __spins = 0,
              __elision = 0,
              __list = {
                __prev = 0x0,
                __next = 0x0
              }
            },
            __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
            __align = 0
          }
        },
        entries = 0x0,
        size = 0,
        n_elements = 0,
        free = 0x0
      },
      _ns_debug = {
        base = {
          r_version = 0,
          r_map = 0x0,
          r_brk = 0,
          r_state = RT_CONSISTENT,
          r_ldbase = 0
        },
        r_next = 0x0
      }
    }, {
      _ns_loaded = 0x0,
      _ns_nloaded = 0,
      _ns_main_searchlist = 0x0,
      _ns_global_scope_alloc = 0,
      _ns_global_scope_pending_adds = 0,
      libc_map = 0x0,
      _ns_unique_sym_table = {
        lock = {
          mutex = {
            __data = {
              __lock = 0,
              __count = 0,
              __owner = 0,
              __nusers = 0,
              __kind = 0,
              __spins = 0,
              __elision = 0,
              __list = {
                __prev = 0x0,
                __next = 0x0
              }
            },
            __size = '\000' <repeats 39 times>,
            __align = 0
          }
        },
        entries = 0x0,
        size = 0,
        n_elements = 0,
        free = 0x0
      },
      _ns_debug = {
        base = {
          r_version = 0,
          r_map = 0x0,
          r_brk = 0,
          r_state = RT_CONSISTENT,
          r_ldbase = 0
        },
        r_next = 0x0
      }
    } <repeats 15 times>},
  _dl_nns = 1,
  _dl_load_lock = {
    mutex = {
      __data = {
        __lock = 0,
        __count = 0,
        __owner = 0,
        __nusers = 0,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
      __align = 0
    }
  },
  _dl_load_write_lock = {
    mutex = {
      __data = {
        __lock = 0,
        __count = 0,
        __owner = 0,
        __nusers = 0,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
      __align = 0
    }
  },
  _dl_load_tls_lock = {
    mutex = {
      __data = {
        __lock = 0,
        __count = 0,
        __owner = 0,
        __nusers = 0,
        __kind = 1,
        __spins = 0,
        __elision = 0,
        __list = {
          __prev = 0x0,
          __next = 0x0
        }
      },
      __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>,
      __align = 0
    }
  },
  _dl_load_adds = 6,
  _dl_initfirst = 0x0,
  _dl_profile_map = 0x0,
  _dl_num_relocations = 114,
  _dl_num_cache_relocations = 7,
  _dl_all_dirs = 0x7ffff7fc2050,
  _dl_rtld_map = {
    l_addr = 140737353916416,
    l_name = 0x400318 "/lib64/ld-linux-x86-64.so.2",
    l_ld = 0x7ffff7ffce40,
    l_next = 0x405300,
    l_prev = 0x7ffff7fc20f0,
    l_real = 0x7ffff7ffdab0 <_rtld_local+2736>,
    l_ns = 0,
    l_libname = 0x7ffff7ffe270 <_dl_rtld_libname>,
    l_info = {0x0, 0x0, 0x0, 0x0, 0x7ffff7ffce50, 0x7ffff7ffce70, 0x7ffff7ffce80, 0x7ffff7ffceb0, 0x7ffff7ffcec0, 
      0x7ffff7ffced0, 0x7ffff7ffce90, 0x7ffff7ffcea0, 0x0, 0x0, 0x7ffff7ffce40, 0x0 <repeats 15 times>, 
      0x7ffff7ffcf00, 0x0, 0x0, 0x0, 0x0, 0x7ffff7ffcf40, 0x7ffff7ffcf30, 0x7ffff7ffcf50, 0x0, 0x0, 0x7ffff7ffcef0, 
      0x7ffff7ffcee0, 0x7ffff7ffcf10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffff7ffcf20, 
      0x0 <repeats 25 times>, 0x7ffff7ffce60},
    l_phdr = 0x7ffff7fca040,
    l_entry = 0,
    l_phnum = 11,
    l_ldnum = 0,
    l_searchlist = {
      r_list = 0x0,
      r_nlist = 0
    },
    l_symbolic_searchlist = {
      r_list = 0x0,
      r_nlist = 0
    },
    l_loader = 0x0,
    l_versions = 0x7ffff7fc2b10,
    l_nversions = 8,
    l_nbuckets = 37,
    l_gnu_bitmask_idxbits = 3,
    l_gnu_shift = 8,
    l_gnu_bitmask = 0x7ffff7fca458,
    {
      l_gnu_buckets = 0x7ffff7fca478,
      l_chain = 0x7ffff7fca478
    },
    {
      l_gnu_chain_zero = 0x7ffff7fca508,
      l_buckets = 0x7ffff7fca508
    },
    l_direct_opencount = 0,
    l_type = lt_library,
    l_dt_relr_ref = 0,
    l_relocated = 1,
    l_init_called = 1,
    l_global = 1,
    l_reserved = 0,
    l_main_map = 0,
    l_visited = 1,
    l_map_used = 1,
    l_map_done = 1,
    l_phdr_allocated = 0,
    l_soname_added = 0,
    l_faked = 0,
    l_need_tls_init = 0,
    l_auditing = 0,
    l_audit_any_plt = 0,
    l_removed = 0,
    l_contiguous = 0,
    l_free_initfini = 0,
    l_ld_readonly = 0,
    l_find_object_processed = 0,
    l_nodelete_active = false,
    l_nodelete_pending = false,
    l_property = lc_property_unknown,
    l_x86_feature_1_and = 0,
    l_x86_isa_1_needed = 0,
    l_1_needed = 0,
    l_rpath_dirs = {
      dirs = 0x0,
      malloced = 0
    },
    l_reloc_result = 0x0,
    l_versyms = 0x7ffff7fcac02,
    l_origin = 0x0,
    l_map_start = 140737353916416,
    l_map_end = 140737354130120,
    l_init_called_next = 0x0,
    l_scope_mem = {0x0, 0x0, 0x0, 0x0},
    l_scope_max = 0,
    l_scope = 0x0,
    l_local_scope = {0x0, 0x0},
    l_file_id = {
      dev = 0,
      ino = 0
    },
    l_runpath_dirs = {
      dirs = 0x0,
      malloced = 0
    },
    l_initfini = 0x0,
    l_reldeps = 0x0,
    l_reldepsmax = 0,
    l_used = 1,
    l_feature_1 = 0,
    l_flags_1 = 0,
    l_flags = 0,
    l_idx = -1,
    l_mach = {
      plt = 0,
      gotplt = 0,
      tlsdesc_table = 0x0
    },
    l_lookup_cache = {
      sym = 0x7ffff7fca860,
      type_class = 0,
      value = 0x7ffff7ffdab0 <_rtld_local+2736>,
      ret = 0x7ffff7fca860
    },
    l_tls_initimage = 0x0,
    l_tls_initimage_size = 0,
    l_tls_blocksize = 0,
    l_tls_align = 0,
    l_tls_firstbyte_offset = 0,
    l_tls_offset = 0,
    l_tls_modid = 0,
    l_tls_dtor_count = 0,
    l_relro_addr = 203040,
    l_relro_size = 5856,
    l_serial = 0
  },
  _dl_rtld_auditstate = {{
      cookie = 0,
      bindflags = 0
    } <repeats 16 times>},
  _dl_x86_feature_1 = 0,
  _dl_x86_feature_control = {
    ibt = cet_elf_property,
    shstk = cet_elf_property
  },
  _dl_stack_flags = 6,
  _dl_tls_dtv_gaps = false,
  _dl_tls_max_dtv_idx = 1,
  _dl_tls_dtv_slotinfo_list = 0x7ffff7fc2bd0,
  _dl_tls_static_nelem = 1,
  _dl_tls_static_used = 136,
  _dl_tls_static_optional = 512,
  _dl_initial_dtv = 0x7ffff7dce0e0,
  _dl_tls_generation = 1,
  _dl_scope_free_list = 0x0,
  _dl_stack_used = {
    next = 0x7ffff7ffe0a0 <_rtld_local+4256>,
    prev = 0x7ffff7ffe0a0 <_rtld_local+4256>
  },
  _dl_stack_user = {
    next = 0x7ffff7dcda00,
    prev = 0x7ffff7dcda00
  },
  _dl_stack_cache = {
    next = 0x7ffff7ffe0c0 <_rtld_local+4288>,
    prev = 0x7ffff7ffe0c0 <_rtld_local+4288>
  },
  _dl_stack_cache_actsize = 0,
  _dl_in_flight_stack = 0,
  _dl_stack_cache_lock = 0
}
(gdb) continue
Continuing.
[Inferior 1 (process 48797) exited normally]
(gdb) exit