Bug 4432 – DMD r575 won't build on Linux in debug mode: undefined reference to obj_long

Status
RESOLVED
Resolution
FIXED
Severity
minor
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Linux
Creation time
2010-07-06T10:11:00Z
Last change time
2012-05-03T03:32:45Z
Assigned to
nobody
Creator
chadjoan

Comments

Comment #0 by chadjoan — 2010-07-06T10:11:56Z
When I try to build DMD revision 575 in debug mode on my Linux machine I get this error: cgcv.o: In function `cv4_outsym': /mnt/sharedhd/dprojects/experimental/properties/dmd.svn.r575/src/backend/cgcv.c:2277: undefined reference to `obj_long(int, unsigned int, unsigned long, unsigned int, unsigned int, unsigned int)' collect2: ld returned 1 exit status make: *** [dmd] Error 1 It seems to be caused by the removal of obj_long in elfobj.c at revision 572. I'm not sure what the proper way to fix it is since obj_long seems to be on its way out from elfobj anyways. As a workaround I just put the stub back from pre-r572 to make it compile. I compiled DMD in debug mode by switching to this GFLAGS line in linux.mak: GFLAGS = $(WARNINGS) -D__near= -D__pascal= -fno-exceptions -g -DDEBUG=1 -DUNITTEST $(COV) When I compile with the normal GFLAGS everything works fine. My Linux machine is 64-bit but I am building the 32-bit version of the compiler like normal.
Comment #1 by clugdbug — 2012-05-03T03:32:45Z
This was fixed 2 million years ago.