|
From: Nicholas N. <nj...@cs...> - 2005-05-12 13:17:03
|
On Thu, 12 May 2005, Julian Seward wrote: > ... is giving build failures on both platforms. > > It's because dispatch-*.S wants to know VG_TRC_INVARIANT_FAILED > et al, but these are now in pub_core_dispatch.h, which it can't > include because that's a for-C include file. Hence link failure: > > m_dispatch/libdispatch.a(dispatch-amd64.o)(.text+0xbd):dispatch-amd64.S:161: > undefined reference to `VG_TRC_INVARIANT_FAILED' > m_dispatch/libdispatch.a(dispatch-amd64.o)(.text+0xe6):dispatch-amd64.S:190: > undefined reference to `VG_TRC_INNER_COUNTERZERO' > m_dispatch/libdispatch.a(dispatch-amd64.o)(.text+0x105):dispatch-amd64.S:202: > undefined reference to `VG_TRC_INNER_FASTMISS' > m_dispatch/libdispatch.a(dispatch-amd64.o)(.text+0x113):dispatch-amd64.S:208: > undefined reference to `VG_TRC_INNER_COUNTERZERO' > > I can kludge around it to keep working. One possibility is to > park those constants -- and those acquired from libvex_trc_values.h > -- into a pub_core_dispatch_asm.h, and include that in the .S files > and also in pub_core_dispatch.h. I haven't done that tho, since > it's a bit inelegant and you might know of a cleaner solution > (although I can't think of one). Ah, sorry. It should be fixed now. I added the _asm.h file as you suggested; I don't know a cleaner approach and it's how we've been handling the problem all along. N |