aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tccelf.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/tccelf.c b/tccelf.c
index 3fbc795..92ea449 100644
--- a/tccelf.c
+++ b/tccelf.c
@@ -2243,7 +2243,13 @@ static int elf_output_file(TCCState *s1, const char *filename)
#ifdef TCC_TARGET_ARM
#ifdef TCC_ARM_EABI
ehdr.e_ident[EI_OSABI] = 0;
- ehdr.e_flags = 4 << 24;
+ ehdr.e_flags = EF_ARM_EABI_VER4;
+ if (file_type == TCC_OUTPUT_EXE)
+ ehdr.e_flags |= EF_ARM_HASENTRY;
+ if (s1->float_abi == ARM_HARD_FLOAT)
+ ehdr.e_flags |= EF_ARM_VFP_FLOAT;
+ else
+ ehdr.e_flags |= EF_ARM_SOFT_FLOAT;
#else
ehdr.e_ident[EI_OSABI] = ELFOSABI_ARM;
#endif