Dang Nhan Nguyen said the following on 06/15/11 01:43:
I found out the cause is my additional code to the hotspot which use sdt 
namespace:

using namespace std;

When I remove this line and all the printout with "cout <<", no more linking 
error. Though I don't have a thorough explanation.

Does it mean I cannot use certain features in stdlib in hotspot? If so, which 
part (at least std namespace is not possible)?

Yeah it means you can't use most of C++. Really hotspot uses C++ as a basic "C with classes". We don't support things like C++ exceptions or RTTI and probably other stuff; we don't use anything much from any of the C++ std libraries.

Inside the VM you should be using tty->print_cr(...) for output, or a raw printf for places where you can't use tty.

Cheers,
David

Cheers,
/Nhan

-----Original Message-----
From: David Holmes [mailto:david.hol...@oracle.com]
Sent: Tuesday, June 14, 2011 1:21 PM
To: Dang Nhan Nguyen
Cc: build-dev@openjdk.java.net
Subject: Re: Build openjdk7/hotspot error while linking,

Sorry never seen this, or heard of this one, when building hotspot. I
suggest comparing that build instructions used when building the whole
JDK with those building Hotspot by itself.

David Holmes

Dang Nhan Nguyen said the following on 06/14/11 20:01:
Hi All,

I have successfully built the whole Openjdk7/JVM (b121) on an
platform with amd64/Ubuntu/Gcc 4.4.3. I try to build hotspot alone on
the same machine.

ALT_OUTPUTDIR=../../build/hotspot_product ARCH_DATA_MODEL=64 make
product 2>&1 | tee ../../build/hotspot_product.log

The building process go well, but the linking process has a error
like this:

Linking vm... /usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a(ctype.o): relocation
R_X86_64_32S against `vtable for std::ctype<wchar_t>' can not be used
when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a: could not read
symbols: Bad value collect2: ld returned 1 exit status

I try some time but have not solved it successfully. Could anybody
hint me what is the actual problem and how to solve it?


Thank you, --Nhan Nguyen

Reply via email to