Commit Graph

351 Commits

Author SHA1 Message Date
Károly Balogh
f76bb5fc5e m68k-sinclairql: apply the same hack as for amiga and atari to avoid vlink section attribute warning
git-svn-id: trunk@49295 -
2021-04-29 22:21:36 +00:00
nickysn
64bb0359d2 * synchronized with trunk
git-svn-id: branches/wasm@48412 -
2021-01-24 23:38:35 +00:00
yury
64c586b86d * Removed/ifdefed lots of unused variables.
git-svn-id: trunk@48384 -
2021-01-24 12:24:01 +00:00
nickysn
807c743e35 * system identifier system_wasm32_wasm renamed system_wasm32_embedded
git-svn-id: branches/wasm@48362 -
2021-01-24 01:01:39 +00:00
nickysn
35489718f3 * fixed call_indirect for the llvm-mc asm writer
git-svn-id: branches/wasm@47965 -
2021-01-02 12:21:30 +00:00
nickysn
763ca253c1 + introduced the TWasmFuncType class - used to hold a Wasm function signature
git-svn-id: branches/wasm@47963 -
2021-01-02 11:54:41 +00:00
nickysn
d3d51d2f7e * synchronized with trunk
git-svn-id: branches/wasm@47338 -
2020-11-07 22:40:43 +00:00
pierre
7966b29b2f i386-go32v2 also does not support progbits, as other COFF targets
git-svn-id: trunk@47255 -
2020-10-30 15:33:27 +00:00
nickysn
b230e295fa + emit .type directives for ait_symbolpair on targets that have tf_needs_symbol_type
git-svn-id: branches/wasm@47002 -
2020-09-29 12:18:34 +00:00
nickysn
ceeb614473 + handle exports in the llvm-mc wasm32 assembler writer
git-svn-id: branches/wasm@46994 -
2020-09-28 23:13:51 +00:00
nickysn
5ee6e9d593 * declare end_function as an instruction, instead of a directive
git-svn-id: branches/wasm@46849 -
2020-09-11 16:25:44 +00:00
nickysn
15cdc6b856 * fix for the wasm section directive writing
git-svn-id: branches/wasm@46841 -
2020-09-11 15:09:06 +00:00
nickysn
fc96ad5afd + write the end_function directive
git-svn-id: branches/wasm@46838 -
2020-09-11 14:47:27 +00:00
nickysn
35e83d5524 * group tai_local directives, so that they are output as a single directive with comma separated types
git-svn-id: branches/wasm@46714 -
2020-08-26 23:36:28 +00:00
nickysn
76f1b8cf60 + generate the .functype directive for the llvm-mc wasm assembler
git-svn-id: branches/wasm@46711 -
2020-08-26 23:00:25 +00:00
nickysn
f95d35340c + first attempt at writing the .local WASM directive
git-svn-id: branches/wasm@46709 -
2020-08-26 21:07:11 +00:00
nickysn
2d39ddf85e + write the global procedures/functions in the llvm-mc assembler writer
git-svn-id: branches/wasm@46698 -
2020-08-26 16:58:17 +00:00
yury
6e777d8967 * ait_comment,ait_regalloc,ait_tempalloc,ait_varloc instructions produce only comments in the external assembler output. Moved handling of these instructions to TExternalAssembler.WriteComments().
This eliminates code duplication and improves maintainability.

git-svn-id: trunk@46550 -
2020-08-22 19:53:39 +00:00
yury
5ec489c018 * ait_varloc instructions are handled and removed by Trgobj.translate_registers() and never left for an assembler.
git-svn-id: trunk@46541 -
2020-08-22 10:58:21 +00:00
Jonas Maebe
e7d1a77f9a * rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
* rename the m68k/PowerPC-MacOS targets to m68k/PowerPC-MacOSClassic
  * repurpose the AArch64/Darwin target for AArch64/macOS
   o make AArch64-Darwin default target for a hosted AArch64-Darwin compiler

git-svn-id: trunk@45758 -
2020-07-10 21:52:24 +00:00
pierre
87bf6a4b56 Do not use .hidden for systems_wince, as is done for systems_windows
git-svn-id: trunk@45756 -
2020-07-10 14:15:22 +00:00
pierre
f71415a2de Extend ait_ua_elf_const2str to all aitconst_XXX to fix mips/mipsel RTTI generation
git-svn-id: trunk@45719 -
2020-07-02 16:06:01 +00:00
Károly Balogh
6cc818cbe3 m68k: avoid more vlink warnings regarding changed section attributes, when the target system has no write-protected sections
git-svn-id: trunk@45470 -
2020-05-23 12:13:30 +00:00
nickysn
3d81dd0b00 * ReplaceForbiddenAsmSymbolChars renamed ApplyAsmSymbolRestrictions, because now it also applies the
label length limit

git-svn-id: branches/z80@45085 -
2020-04-26 10:42:07 +00:00
svenbarth
f150fc6b7c * at least clang can savely generate relocatable readonly sections, so use "r" for aarch64-win64
git-svn-id: trunk@44931 -
2020-04-21 06:05:25 +00:00
svenbarth
329710f573 * use COFF sectionattrs for aarch64-win64 as well
git-svn-id: trunk@44930 -
2020-04-21 06:05:21 +00:00
svenbarth
3f62c5f5ef + introduce a virtual method for writing the section flags
git-svn-id: trunk@44928 -
2020-04-21 06:05:14 +00:00
svenbarth
b5a4f8837c * rename the local sectionflags and sectionprogbits variables to the more clear usesectionflags and usesectionprogbits
git-svn-id: trunk@44927 -
2020-04-21 06:05:10 +00:00
svenbarth
3b1d5794e9 * Windows on AArch64 does not support ProgBits either
git-svn-id: trunk@44917 -
2020-04-21 06:04:34 +00:00
florian
8ac8c79a71 + initial support for arm-freertos largely based on patch by Michael Ring
git-svn-id: trunk@44871 -
2020-04-19 20:59:52 +00:00
Károly Balogh
56ad37133e m68k-amiga: hack to avoid a linker (vlink) warning about merging sections with different flags together. Amiga doesn't support true read only sections anyway
git-svn-id: trunk@44757 -
2020-04-17 23:09:16 +00:00
florian
40bbb28fd2 * do not write section flags/progbits for .data, .rodata .data.norel as the compiler will ignore them anyways and warn about it
git-svn-id: trunk@43428 -
2019-11-09 18:28:30 +00:00
svenbarth
f481587bee * fix compilation on PE/COFF based systems with GNU AS as there the progbits are not supported
git-svn-id: trunk@43345 -
2019-11-01 13:27:29 +00:00
Jonas Maebe
e3c6ef21d1 * fixed compilation for Darwin and AIX after addition of section attributes
git-svn-id: trunk@43273 -
2019-10-20 14:14:09 +00:00
florian
245b58c249 + support for arm attributes
* abi notes fixed

git-svn-id: trunk@43157 -
2019-10-09 17:45:40 +00:00
florian
8ecdb2e9ca + dwarf support for tls threadvars
git-svn-id: trunk@43134 -
2019-10-05 20:48:31 +00:00
florian
16163b74ec + support for the gnu2 general-dynamic tls model on arm, use it instead of the gnu one as the gnu2 one can be relaxed (access optimizations by the linker)
+ support pic relocations in the internal assembler writer

git-svn-id: trunk@43128 -
2019-10-05 20:48:26 +00:00
florian
03dfc615dc + new relocations for arm tls
git-svn-id: trunk@43123 -
2019-10-05 20:48:21 +00:00
Jonas Maebe
3fee990218 * on Mach-O, PECOFF and ELF platforms, write local symbols as hidden/
private_extern (or plain global in case of PECOFF, as the effect is
    the same there): visible across object files, but they become local
    when linked into a binary/library. This enables cross-unit inlining
    of functions accessig implementation-only symbols.

git-svn-id: trunk@42340 -
2019-07-07 21:33:43 +00:00
florian
1ed0000ae8 + Encode(U/S)leb128 take now a third parameter to force that the constant has a certain minimum size
+ tai_const has a new field fixed_size which is used to fix the size of an s/uleb128. This is needed to ensure convergence during assembling when calculating offsets

git-svn-id: branches/debug_eh@42255 -
2019-06-20 17:13:28 +00:00
Jonas Maebe
9e9a982bfe * synchronised with trunk till r42095
git-svn-id: branches/debug_eh@42096 -
2019-05-18 18:43:51 +00:00
Jonas Maebe
47812c8a3d * don't double-define function aliases for Darwin defined via ".set" directive
git-svn-id: trunk@42095 -
2019-05-18 18:41:38 +00:00
Jonas Maebe
1b6425176b * synchronised with trunk till r42049
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
Jonas Maebe
281b3ad276 * fix case completeness and unreachable code warnings in compiler that would
be introduced by the next commit

git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
Jonas Maebe
5d28e2156b + support for generating Dwarf CFI using .cfi_* directives
o adjust peephole optimisers so they don't remove cfi_endproc directives
     in case of tail call optimisation

git-svn-id: branches/debug_eh@41578 -
2019-03-03 17:15:03 +00:00
florian
27ab140dd9 + gcc_except_table section
+ support exception related sections in the default LD linker script

git-svn-id: branches/debug_eh@41285 -
2019-02-10 17:57:48 +00:00
florian
9f16c34329 + initial work for tls-based threadvar support on arm-linux
git-svn-id: trunk@40267 -
2018-11-07 22:02:58 +00:00
florian
a092da723a + new fields for more precise control of alignment
+ support of new alignment control values for GNU AS writer
+ support of new alignment control values for binary writer
* better alignment settings on i386-win32
* improved inserted align directives for if nodes

git-svn-id: trunk@40159 -
2018-11-01 20:49:17 +00:00
florian
0cc3be49fa * GAS readers and writers can handle section flags
git-svn-id: trunk@39998 -
2018-10-20 18:23:24 +00:00
Jeppe Johansen
74a7963d58 Redo overflow checking code.
Fix shift operators in case of unsigned subreg operations. There should be no sign extension here.
Add some unittest implementations that test stack execution and writing to readonly constants.

git-svn-id: branches/laksen/riscv_new@39762 -
2018-09-16 18:37:59 +00:00