Undefined reference to __fixunsdfdi and __umoddi3

Jeremy C. Reed reed@reedmedia.net
Tue Sep 23 18:45:00 GMT 2003


When building openssh-3.7.1p1 I receive the following errors:

ld -o scp scp.o progressmeter.o -L. -Lopenbsd-compat/ -L/usr/lib -L/usr/lib  -L/usr/lib -Wl,-R/usr/lib -lssh -lopenbsd-compat -lutil -lz -lnsl -lcrypto -lcrypt
/usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0804923c
scp.o(.text+0x15ac): In function `bwlimit':
: undefined reference to `__fixunsdfdi'
scp.o(.text+0x15c1): In function `bwlimit':
: undefined reference to `__udivdi3'
scp.o(.text+0x15e0): In function `bwlimit':
: undefined reference to `__umoddi3'
progressmeter.o(.text+0xf0): In function `format_rate':
: undefined reference to `__divdi3'
progressmeter.o(.text+0xfe): In function `format_rate':
: undefined reference to `__moddi3'
progressmeter.o(.text+0x10f): In function `format_rate':
: undefined reference to `__divdi3'


>From my searches it appears that this is related to gcc failing to link
shared libraries against libgcc.

I also read that some workarounds are available for binutils, gcc or
glibc.

I am not sure if this is a real gcc issue.

I am using:
  gcc-3.3.1
  binutils-2.14
  glibc-2.3.2

(These were built using pkgsrc.)

Can anyone share some advice on how to troubleshoot this problem?

Thank you,

Jeremy C. Reed
http://www.isp-faq.com/



More information about the Gcc-help mailing list