[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Binutils 2.18 + GCC 4.2.3



On Wed, 2008-02-06 at 14:41 +0100, Vincent Rivière wrote:
> Some ideas if you want to mess the things even more :-)
> This is how to switch from 2-byte alignment to 4-byte alignment.
> 
> In the binutils, file bfd/cpu-m68k.c
> Thar file should be reverted to the original version.
>   #define N(name, print,d,next)  \
> -{  32, 32, 8, bfd_arch_m68k, name, "m68k",print,2,d,bfd_m68k_compatible,bfd_default_scan, 
> next, }
> +{  32, 32, 8, bfd_arch_m68k, name, "m68k",print,1,d,bfd_m68k_compatible,bfd_default_scan, 
> next, }
> 
> Note the number after "print". It is the alignement power.
> 2 indicates an alignment of 4 (=2^2)
> 1 indicates an alignment of 2 (=2^1)
> 
> Then in GCC:
> In gcc/config/m68k/mint.h:
> Remove:
> #define TARGET_VTABLE_ENTRY_ALIGN 16
> 
> And add :
> #undef ALIGN_ASM_OP
> #define ALIGN_ASM_OP "\t.align\t"
> 
> ##undef ASM_OUTPUT_ALIGN
> #define ASM_OUTPUT_ALIGN(FILE,LOG)                              \
>    if ((LOG) > 0)                                                \
>      fprintf ((FILE), "%s%u\n", ALIGN_ASM_OP, 1 << (LOG));
> 
> I just share what I know right now !
> All that stuff is completely untested, and might be totally wrong !
> Use with caution, only for experimental purpose !
> 
> By the way, MiKRO, you should first fix your CPU and multilib problems.
> 

I get this building gcc with the above patches.....

/ISO/Atari/GCC/gcc-4.2.3-mint-native/m68k-atari-mint/mshort/libstdc
++-v3/include/iosfwd:71: warning: alignment of
'std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char>
>::_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE' is greater than
maximum object file alignment.  Using 2

Alan.