Browse Source

Doh! In include/bits/uClibc_config.h when we define things, we appropriately
prepend "__". Unfortunately, when we #undef things, we do not prepend the
"__". This results in collateral damage to unsuspecting applications as we
undefine random unrelated macros. Oops.

For example, when compiling xfree86, libGLcore.a defines MALLOC for its own usage.
But include/bits/uClibc_config.h then does an
#undef MALLOC
#define __MALLOC_930716__ 1
which inadvertantly trashes the define from libGLcore.... Ouch.

The autogenerated include/bits/uClibc_config.h should instead have
contained:
#undef __MALLOC__
#define __MALLOC_930716__ 1

This patch makes that happen.

Eric Andersen 20 years ago
parent
commit
a71c83bc44
1 changed files with 1 additions and 1 deletions
  1. 1 1
      extra/config/confdata.c

+ 1 - 1
extra/config/confdata.c

@@ -347,7 +347,7 @@ int conf_write(const char *name)
 				case no:
 					fprintf(out, "# %s is not set\n", sym->name);
 					if (out_h)
-						fprintf(out_h, "#undef %s\n", sym->name);
+						fprintf(out_h, "#undef __%s__\n", sym->name);
 					break;
 				case mod:
 					fprintf(out, "%s=m\n", sym->name);