libgcj testsuite FAILs on Ubuntu

Andrew Haley aph@redhat.com
Wed Aug 5 10:58:00 GMT 2009


There is a number of gcj stacktrace failures on Ubuntu ARM.

They all look like this:

StackTrace2$Inner.doCrash:FAIL - expected 33, got: 0, in file crtstuff.c
StackTrace2$Inner.foo:FAIL - expected 28, got: 0, in file crtstuff.c
StackTrace2.a:FAIL - expected 21, got: 0, in file crtstuff.c
StackTrace2.main:FAIL - expected 10, got: 0, in file crtstuff.c

A simple test reveals that dladdr() doesn't work:

#define _GNU_SOURCE
#include <stdio.h>
#include <dlfcn.h>

void dosym(const char *s, void *p)
{
  Dl_info addr_info;
  int success = dladdr (p, &addr_info);

  if (success)
    {
      fprintf (stdout, "%s=%p\n", s, p);
      fprintf (stdout, "%s is at %p,\n",
	       addr_info.dli_sname, addr_info.dli_fbase);
    }
}

void main()
{
  dosym ("printf", (void*)printf);
  dosym ("open", (void*)fopen);
}

aph@babbage-aph:~$ gcc test_dladdr.c -g -ldl
aph@babbage-aph:~$ ./a.out
printf=0x83f0
printf is at 0x8000,
open=0x83e4
fopen is at 0x8000,

This is:

Distributor ID:	Ubuntu
Description:	Ubuntu jaunty (development branch)
Release:	9.04

I don't know how something as fundamental as dladdr() can possibly
fail and the system still appear to work, but there it is.

Andrew.



More information about the Java mailing list