https://bugs.kde.org/show_bug.cgi?id=384885

--- Comment #5 from RJVB <rjvber...@gmail.com> ---
The only explanation I can find is that the compiler (clang 4.0.1) miscompiles
the svncpp code in KDevelop (but not the comparable code in kdesvn, from which
I copied certain things for testing). Compiler and/or linker don't generate the
proper address for  the apr_pool_initialize() function:


(lldb) l 40
   40       if (!s_initialized)
   41       {
   42         if (apr_pool_initialize() == APR_SUCCESS) {
   43             s_initialized = true;
   44         }
   45       }
   46   
   47       return svn_pool_create(parent);
   48     }
   49   
(lldb) dis -l
kdevsubversion.so`svn::Pool::Pool:
->  0x11e0c3be4 <+36>: callq  0x11e0c5f90               ; symbol stub for:
apr_pool_initialize

(lldb) l apr_pool_initialize
File:
/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_var_macports_sources_rsync.macports.org_release_ports_devel_apr/apr/work/apr-1.6.2/memory/unix/apr_pools.c
   642   * Local functions
   643   */
   644  
   645  static void run_cleanups(cleanup_t **c);
   646  static void free_proc_chain(struct process_chain *procs);
   647  
   648  #if APR_POOL_DEBUG
   649  static void pool_destroy_debug(apr_pool_t *pool, const char
*file_line);
   650  #endif
   651  
   652  #if !APR_POOL_DEBUG
(lldb) l 661
   661      if (apr_pools_initialized++)
   662          return APR_SUCCESS;
   663  
   664  #if HAVE_VALGRIND
   665      apr_running_on_valgrind = RUNNING_ON_VALGRIND;
   666  #endif
   667  
   668  #if APR_ALLOCATOR_USES_MMAP && defined(_SC_PAGESIZE)
   669      boundary_size = sysconf(_SC_PAGESIZE);
   670      boundary_index = 12;

(lldb) p apr_pool_initialize()
(apr_status_t) $1 = 0
(lldb) p apr_pools_initialized
(apr_byte_t) $2 = '\0'
(lldb) p apr_pool_initialize
(apr_status_t (*)()) $3 = 0x000000011e33cc9e
(libapr-1.0.dylib`apr_pool_initialize)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to