On Tue, Sep 09, 2003 at 05:28:05PM -0300, Alexandre Oliva wrote: > On Sep 9, 2003, Robert Millan <zeratul2@xxxxxxxxxx> wrote: > > > Anyone knows what "poisoned" means here? > > It means the use of this macro is no longer permitted in GCC. It was > replaced with some other means to introduce the same feature. Search > for CPP_PREDEFINES in the gccint info manual and you'll see what was > introduced in its stead. Glad to see GCC has so good internals documentation. I've fixed it to use TARGET_{OS,CPU}_CPP_BUILTINS, hacked some other config stuff and got c,c++ to pass "make check" with just a few errors. I'm not sure how to define the __i386__ macro portably though. I'm forced to add this define unconditionaly in kfreebsdgnu.h: #undef TARGET_CPU_CPP_BUILTINS #define TARGET_CPU_CPP_BUILTINS() \ builtin_define ("__i386__"); \ builtin_define_std ("i386"); \ builtin_assert ("cpu=i386"); \ builtin_assert ("machine=i386"); Otherwise stage1 breaks because of xgcc not defining __i386__. Other systems don't hardcode cpu macros in their headers; What is the correct way to get these macros defined? Thanks, -- Robert Millan "[..] but the delight and pride of Aule is in the deed of making, and in the thing made, and neither in possession nor in his own mastery; wherefore he gives and hoards not, and is free from care, passing ever on to some new work." -- J.R.R.T, Ainulindale (Silmarillion)