[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.