http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55617



--- Comment #46 from Jack Howarth <howarth at nitro dot med.uc.edu> 2013-02-03 
00:10:02 UTC ---

(In reply to comment #40)

Also with the patch in Comment 42, the failing test case converted into a

shared library loaded via dlopen works fine...



% cat libcov.C

struct c18 { 

  virtual void bar() { }

};

c18 ret;



% cat covmain_dl.C

#include <stdio.h>

#include <stdlib.h>

#include <dlfcn.h>

int main () {

void *lib_handle;

lib_handle = dlopen("./libcov.dylib", RTLD_LAZY);

if (!lib_handle) 

{

  fprintf(stderr, "%s\n", dlerror());

  exit(1);

}

dlclose(lib_handle);

}



% ./dist/bin/g++-fsf-4.8 -shared -fsanitize=address covmain_dl.C

% ./dist/bin/g++-fsf-4.8 -fsanitize=address covmain_dl.C

% ./a.out

%



This also works for a libcov.C compiled into a shared module loaded in

covmain_dl.C as libcov.so...



% ./dist/bin/g++-fsf-4.8 -bundle -fsanitize=address -o libcov.so libcov.C

% ./dist/bin/g++-fsf-4.8 -fsanitize=address covmain_dl.C

% a.out

%

Reply via email to