From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Egger Subject: Re: libxl: link error Date: Fri, 13 Aug 2010 16:11:54 +0200 Message-ID: <201008131611.55178.Christoph.Egger@amd.com> References: <201008131057.21529.Christoph.Egger@amd.com> <19557.14995.499107.257870@mariner.uk.xensource.com> <201008131537.09037.Christoph.Egger@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <201008131537.09037.Christoph.Egger@amd.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Ian Jackson List-Id: xen-devel@lists.xenproject.org On Friday 13 August 2010 15:37:08 Christoph Egger wrote: > On Friday 13 August 2010 14:29:07 Ian Jackson wrote: > > Christoph Egger writes ("[Xen-devel] libxl: link error"): > > > I get this link error when linking libxl: > > > > > > ld: libxl_dom.o: relocation R_X86_64_PC32 against symbol > > > `hvm_build_set_params' can not be used when making a shared object; > > > recompile with -fPIC > > > > I think this is probably a side effect of the addition of the > > "_hidden" attribute (aka `__attribute__((visibility("hidden")))', > > defined in libxl_internal.h) to this function ? > > This is not the problem but this triggers the issue. > > > Can you explain what the notable differences are between the Linux and > > BSD ELF linkers ? Perhaps the BSD linker does not support this > > attribute, in which case we should probably #ifdef it out. > > NetBSD uses the GNU ld. I don't know the differences > in the linker scripts between Linux and NetBSD. > > > Or perhaps the problem is something else. > > Yes, it is a bug in libxl/Makefile related to my local blktap/noblktap > change. I added the .c instead the .o file. Fixed in my local tree. Sorry > for the noise. Argh, I was too fast with sending this mail. I had commented out the gcc visiblity macros in libxl_internal.h to see if the problem goes away. Yes, it did and forgot to undo it when I found and fixed this Makefile problem. It is definitely something else. The tools/libxl/Makefile specifies -fPIC. Maybe libxc must be compiled with -fPIC, too? Christoph -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632