http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46464
Summary: libiberty pointer size assumptions for Win64 incorrect Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassig...@gcc.gnu.org ReportedBy: nightstr...@gmail.com Target: x86_64-*-mingw32 md5.h incorrectly assumes the size of a pointer to be a long int. On Win64, this isn't the case. There was discussion and a proposed patch here: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00638.html And a ping here: http://gcc.gnu.org/ml/gcc-patches/2009-09/msg01515.html And then the issue died. The proposed patch does an ifdef on _WIN64. There may be a more elegant solution, such as using a configure test to see if uintptr_t is defined, and to use that. I really don't know. I just don't want the issue to slip away untouched. Also note that to the best of my knowledge, it appears that the issue has not yet been addressed in the year and two months since that last ping. If it has, then I apologize for the bug report. One more thing. I couldn't find libiberty in the list of components to write the bug against, so I wrote it against "other".