Bug #312

linking fails with renderer2 for 64 bit

Added by deki over 5 years ago. Updated about 4 years ago.

Status:Fixed% Done:

100%

Priority:Normal
Assignee:-
Category:Client
Target version:renderer2
OS:Linux Arch:64-bit

Description

When compiling etl under 64bit and enabling the renderer2, it fails to link, because it can’t find "qftolsse".

Linking CXX executable etl
librenderer_opengl2_x86_64.a(tr_light.c.o): In function `Q_ftol’:
tr_light.c:(.text+0x19): undefined reference to `qftolsse’
librenderer_opengl2_x86_64.a(tr_image.c.o): In function `Q_ftol’:
tr_image.c:(.text+0x19): undefined reference to `qftolsse’
librenderer_opengl2_x86_64.a(tr_shade_calc.c.o): In function `Q_ftol’:
tr_shade_calc.c:(.text+0x19): undefined reference to `qftolsse’
librenderer_opengl2_x86_64.a(tr_mesh.c.o): In function `Q_ftol’:
tr_mesh.c:(.text+0x19): undefined reference to `qftolsse’
librenderer_opengl2_x86_64.a(tr_decals.c.o): In function `Q_ftol’:
tr_decals.c:(.text+0x19): undefined reference to `qftolsse’
librenderer_opengl2_x86_64.a(tr_backend.cpp.o):tr_backend.cpp:(.text+0x19): more undefined references to `qftolsse’ follow
collect2: error: ld returned 1 exit status

The problem seems to be in src/qcommon/q_shared.h:

extern long QDECL qftolsse(float f);
static ID_INLINE long Q_ftol(float f)
{
#if id386_sse && defined(_MSC_VER)
static int tmp;
__asm fld f
__asm fistp tmp
__asm mov eax, tmp
#elif idx64
return qftolsse(f);
#else
return (long)f;
#endif
}

qftolsse is nowhere implemented.

Associated revisions

Revision 968c7019
Added by Radegast about 5 years ago

renderer2: comment out call to a missing function qftolsse, refs #312

Revision f87fe333
Added by Jacker about 5 years ago

renderer2: no need for qftollse, refs #312

History

#1 Updated by IR4T4 over 5 years ago

  • Category set to 4
  • Target version set to 2.77

#2 Updated by Jacker about 5 years ago

  • Status changed from New to Fixed
  • % Done changed from 0 to 100

#3 Updated by IR4T4 about 5 years ago

  • Target version changed from 2.77 to 2.71rc2

#4 Updated by Radegast almost 5 years ago

  • OS set to Linux

#5 Updated by Radegast almost 5 years ago

  • Arch set to 64-bit

#6 Updated by IR4T4 about 4 years ago

  • Target version changed from 2.71rc2 to renderer2

Also available in: Atom PDF