On 2006-01-28 at 00:52:22 [+0100], Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx> wrote: [ 8< ] > > This time I'm not to blame. We're actually talking about the good old gcc > 2.95.3. :-P Hohum, [*blushes*] > As it looks, the name-mangling.patch is not cross-compilation safe, since > it uses "#ifdef __BEOS__". This would explain both the off-by-one array > size and the use of repetition codes. Correct. > > Ingo, please tell if I can give you a hand on this. > > I guess I'll simply define a TARGET_BEOS macro in "i386/beos-elf.h" and > replace the occurrences of __BEOS__ respectively. > It would be nice, though, if you would look through the other patches and > identify similar problems. I suppose you know the patches best and can > judge with little effort where BeOS is meant as host and where as target > platform. This concerns only places in the compiler proper, of course; > everything compiled with the cross compiler should be safe, anyway. Ok, I'm doing that now. On 2006-01-28 at 01:24:19 [+0100], Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx> wrote: > > As I realized when starting to do this, one of the __BEOS__ macros already > had been replaced by USE_EGCS_MANGLED_NAMES. So I wonder whether replacing > the second __BEOS__ by the same macro would be appropriate here. What > confuses me a bit is that USE_EGCS_MANGLED_NAMES is defined in xm-beos.h, > which I figured to be a BeOS as host include file (the comment at the top of > the file suggests that, too). Shouldn't it rather be defined in > i386/beos-elf.h? Yes, I think it should. I will follow your suggestion and define a TARGET_BEOS macro and replace USE_EGCS_MANGLED_NAMES with it, since it makes our intention clearer (aka the BeOS-target needs this). cheers, Oliver