Hi Jerry, > Greetings, > > I tried to update the Fedora bigloo package to 4.3a once hop was > updated to use the newer version, but the bigloo build failed on > s390x. We had already blacklisted the big endian ppc64 architecture > for bigloo because of build failures there. I decided to see if I > could find the problem. The attached patch gets the build to succeed > on both s390x and big endian ppc64. Wonderful. I have apply the patch. Thanks a million.
> The problem is mismatched declarations and definitions, as you can see > by examining the patch. I don't mean to be critical, but extern > declarations in C files are a terrible idea, for precisely this > reason. If the declarations and definitions get out of sync, the > compiler can't tell you about it, because it has no way of knowing. > All of those declarations should be in header files that are included > by both the defining code and the consuming code. Yes. I agree. You are right. This is generally by laziness that we do not include a legal C header file and we run in the very trouble you are mentioning. > Note that the patched code is wrong even for little endian > architectures such as x86. It just happens to "work" by accident. What do you mean? What do you think is wrong? Best, -- Manuel
