fpc/compiler/i386
sergei 6d70009f06 + ELF linker. Works on x86_64-linux and i386-linux good enough to pass the testsuite, but still requires a lot of work in nearly all aspects. In particular, no attempt to resolve symbols from shared libs is done, everything is just treated as imports. Symbol versioning isn't supported either.
x86_64 is the most elaborated, has some degree of indirect function (GNU_IFUNC) and TLS support, so it is even able to link with static libc/pthreads code (tw14265) and produce an executable that can launch (but still fails due to invalid DWARF unwind info).

i386 produces working shared libraries if they are compiled with -Cg, without one your mileage may vary. tw14265 does not link yet due to missing COMDAT group support.

git-svn-id: trunk@22775 -
2012-10-19 17:21:08 +00:00
..
aopt386.pas
cgcpu.pas + Add EXTDEBUG warning if pi_needs_got was not set in pass_1 2012-09-24 15:54:59 +00:00
cpubase.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
cpuelf.pas + ELF linker. Works on x86_64-linux and i386-linux good enough to pass the testsuite, but still requires a lot of work in nearly all aspects. In particular, no attempt to resolve symbols from shared libs is done, everything is just treated as imports. Symbol versioning isn't supported either. 2012-10-19 17:21:08 +00:00
cpuinfo.pas + added sse/avx instructions sets introduced during the last years 2012-09-02 20:55:12 +00:00
cpunode.pas + added {$modeswitch objectivec1}/-Mobjectivec1 mode switch to enable 2009-03-08 18:40:32 +00:00
cpupara.pas * added pocall_mwpascal to cdecl_pocalls so we no longer have to explicitly 2012-10-12 08:41:03 +00:00
cpupi.pas * removed systems_need_16_byte_stack_alignment and use target_info.stackalign instead 2012-09-02 14:32:21 +00:00
cputarg.pas * Split most CPU-specific code from ogelf.pas into newly created cpuelf.pas units in CPU subdirectories. 2012-08-23 11:49:49 +00:00
csopt386.pas * optbase empty skeleton removed with two dependancies. Duplicate unit name caused problems. 2009-05-03 21:31:33 +00:00
daopt386.pas * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
hlcgcpu.pas * fixed compilation for i386/m68k after r21878/21879 2012-07-11 17:41:18 +00:00
i386att.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
i386atts.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
i386int.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
i386nop.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
i386op.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
i386prop.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
i386tab.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
n386add.pas - removed unneeded firstcomplex calls, pass_left_right calls already firstcomplex 2012-07-21 07:09:06 +00:00
n386cal.pas * Fix tw18702.pp i386-win32 specific failure (stack was not properly maintained) 2012-10-12 14:00:35 +00:00
n386inl.pas
n386mat.pas * moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for 2012-05-13 12:33:10 +00:00
n386mem.pas * Made the x86-specific scalefactor optimization of tvecnode available on x86_64 as well, by moving update_reference_reg_mul method from ti386vecnode to newly introduced tx86vecnode. 2011-09-26 12:58:59 +00:00
n386set.pas * merged trunk up to r20882 2012-04-15 15:54:10 +00:00
popt386.pas * mov x, %treg; mov %treg, y might be only optimized if y does not use treg 2012-08-05 17:48:28 +00:00
r386ari.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386att.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386con.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386dwrf.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386int.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386iri.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386nasm.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386nor.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386nri.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386num.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386op.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386ot.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386rni.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386sri.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386stab.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
r386std.inc * merged avx support in inline assembler developed by Torsten Grundke 2012-10-06 19:47:18 +00:00
ra386att.pas
ra386int.pas * Fixed level 2 comment warnings. 2008-07-23 10:08:48 +00:00
rgcpu.pas
rropt386.pas * the compiler now explicitly keeps track of the minimally guaranteed 2009-02-08 13:00:24 +00:00