From 0d768b97130ef2180725c4e585bb482ed0dea105 Mon Sep 17 00:00:00 2001 From: Frederic Feret Date: Thu, 27 Aug 2009 09:34:35 +0200 Subject: added 16-bit x86 assembly support --- tccelf.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tccelf.c') diff --git a/tccelf.c b/tccelf.c index e87f2be..34a4df9 100644 --- a/tccelf.c +++ b/tccelf.c @@ -591,6 +591,18 @@ static void relocate_section(TCCState *s1, Section *s) /* we load the got offset */ *(int *)ptr += s1->got_offsets[sym_index]; break; + case R_386_16: + if (s1->output_format != TCC_OUTPUT_FORMAT_BINARY) { + output_file: + error("can only produce 16-bit binary files"); + } + *(short *)ptr += val; + break; + case R_386_PC16: + if (s1->output_format != TCC_OUTPUT_FORMAT_BINARY) + goto output_file; + *(short *)ptr += val - addr; + break; #elif defined(TCC_TARGET_ARM) case R_ARM_PC24: case R_ARM_CALL: -- cgit v1.3.1