1f08c3bdfSopenharmony_ci#include "symbol.h" 2f08c3bdfSopenharmony_ci#include "target.h" 3f08c3bdfSopenharmony_ci#include "machine.h" 4f08c3bdfSopenharmony_ci 5f08c3bdfSopenharmony_ci 6f08c3bdfSopenharmony_cistatic void init_nds32(const struct target *self) 7f08c3bdfSopenharmony_ci{ 8f08c3bdfSopenharmony_ci fast16_ctype = &int_ctype; 9f08c3bdfSopenharmony_ci ufast16_ctype = &uint_ctype; 10f08c3bdfSopenharmony_ci fast32_ctype = &int_ctype; 11f08c3bdfSopenharmony_ci ufast32_ctype = &uint_ctype; 12f08c3bdfSopenharmony_ci 13f08c3bdfSopenharmony_ci wchar_ctype = &uint_ctype; 14f08c3bdfSopenharmony_ci} 15f08c3bdfSopenharmony_ci 16f08c3bdfSopenharmony_cistatic void predefine_nds32(const struct target *self) 17f08c3bdfSopenharmony_ci{ 18f08c3bdfSopenharmony_ci predefine("__NDS32__", 1, "1"); 19f08c3bdfSopenharmony_ci predefine("__nds32__", 1, "1"); 20f08c3bdfSopenharmony_ci 21f08c3bdfSopenharmony_ci predefine_weak("__NDS32_E%c__", arch_big_endian ? 'B' : 'L'); 22f08c3bdfSopenharmony_ci} 23f08c3bdfSopenharmony_ci 24f08c3bdfSopenharmony_ciconst struct target target_nds32 = { 25f08c3bdfSopenharmony_ci .mach = MACH_NDS32, 26f08c3bdfSopenharmony_ci .bitness = ARCH_LP32, 27f08c3bdfSopenharmony_ci .big_endian = false, 28f08c3bdfSopenharmony_ci 29f08c3bdfSopenharmony_ci .bits_in_longdouble = 64, 30f08c3bdfSopenharmony_ci 31f08c3bdfSopenharmony_ci .init = init_nds32, 32f08c3bdfSopenharmony_ci .predefine = predefine_nds32, 33f08c3bdfSopenharmony_ci}; 34