This week I updated the gcc-4.7.0 bash install script to include binutils-2.22 with gold support enabled. See this blog entry to download it.
I found a number of type-casting problems in the code so to get it to work I had to set the –disable-werror option in the configuration.
There was one serious coding problem in the parse_uint function at line 196 in the gold/options.cc file. The logic is testing retval<0 instead of *retval<0. Fortunately, this code does not seem to be used.
1 2 3 4 5 6 7 8 9 |
void parse_uint(const char* option_name, const char* arg, int* retval) { char* endptr; *retval = strtol(arg, &endptr, 0); if (*endptr != '\0' || retval < 0) // should be *retval<0 gold_fatal(_("%s: invalid option value (expected an integer): %s"), option_name, arg); } |