From 32734680cb2a645d48f806edae5a5912e0759a23 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Wed, 8 Jan 2014 17:38:58 +0800 Subject: [PATCH] Improve ELF on ARM * set whether soft or hardfloat calling convention is used * mark ELF file has having an entry point when there is --- tccelf.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tccelf.c b/tccelf.c index 3fbc7955..92ea449b 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