diff options
| -rw-r--r-- | tccelf.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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 |
