Re: GCC 7.1, cygwin, undefined reference to ___divmoddi4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2017-05-08 10:13 +0800, Liu Hao wrote:
> On 2017/5/8 7:52, Thomas Plank wrote:
> > JonY wrote:
> > > Looks like something wrong with libgcc? Check the libgcc symbols from
> > > 7.1.0 and the installed version. Not sure if you can workaround by
> > > installing libgcc first.
> > > 
> > I solved in in the way, that I took the oppurtunity to switch to
> > cygwin64 and start completely from scratch.
> > So my ~15 year old cygwin installation got refreshed.
> > 
> > Compilation worked with the new setup without problems.
> > 
> This function is used to divide two 64-bit integers on i686, but not on 
> x86_64 because of hardware support for 64-bit division. It is available 
> in libgcc unless we are building the CRT (winpthreads is also sufferring 
> from this problem). I am not familiar with cygwin, but despite that I 
> think mingw-w64 could provide it.

According to Liu Hao's new thread, the symbol __divmoddi4 was introduced
in GCC 7.0.  However it seems the building system used an old GCC version
to link the code generated by (stage 2) GCC 7.1.  The code would be linked
to old libgcc without __divmoddi4.

Either this is a bootstrap bug, or Thomas did something wrong building
GCC.
-- 
Xi Ruoyao <ryxi@xxxxxxxxxxxxxxxxx>
School of Aerospace Science and Technology, Xidian University




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux