Commit Graph

378 Commits

Author SHA1 Message Date
florian
4867d48e99 + support for .debug_loc and .debuc_loclist sections 2024-01-16 23:24:37 +01:00
Karoly Balogh
4a1db1dc79 m68k: initial compiler changes for Human68k (Sharp X68000) support 2023-11-30 23:43:27 +00:00
Pierre Muller
f249987133 Fix usage of GNU assembler for i386-nativent target 2023-11-30 11:32:33 +01:00
Nikolay Nikolov
3a85a5a9cf + also debug print structured try..catch and try..delegate blocks 2023-10-05 20:37:55 +03:00
Nikolay Nikolov
1a26c0ccfe + for debug purposes print wasm structured instructions in the llvm-mc assembler output 2023-10-05 18:27:49 +03:00
Dmytro Bogatskyy
327aac7f24 Add aarch64-iphonesim target 2023-03-27 18:45:00 +00:00
Jinyang He
12c4290ffe Add loongarch64 architecture support to compiler 2023-02-05 19:18:48 +00:00
Pierre Muller
b9a8e6832f Do not set usesectionprogbits and usesectionflags to true for solaris assembler 2022-12-10 17:41:05 +01:00
Pierre Muller
d217a459aa Fix bug report #39952.
* compiler/aggas.pas: Avoid use of .long for 64bit constant
    for targets that automatically insert alignments.
  + tests/webtbs/tw39952.pp: New test from bug report 39952.
2022-10-12 21:28:16 +01:00
Nikolay Nikolov
c6af4df9b9 + declare user-defined wasm globals in the llvm-mc assembly output 2022-07-25 05:35:00 +03:00
Nikolay Nikolov
b821b9d502 + WebAssembly multithreading: also declare threadvar sections as TLS and prefix their name with '.tbss' when using the external assembler 2022-07-13 23:50:48 +03:00
Pierre Muller
f27b55e9b2 Also add a comment when a label has been optimized out when compiled DEBUG_LABEL 2022-05-31 13:00:04 +00:00
Sven/Sarah Barth
088c746d45 * reset written source lines once a section is encountered 2022-05-26 21:43:35 +02:00
Pierre Muller
c3e94051a1 Use '.rodata' for read-only data section for aarch64 CPU 2022-01-08 00:18:47 +01:00
florian
7ce1a7c6a0 * x86_64-linux doesn't need .data.rel.ro either 2021-09-28 23:13:35 +02:00
Nikolay Nikolov
b463f2a141 + added support for exception tags and for the 'throw' and 'catch' instructions
in the wasm internal assembler and object writer
2021-09-27 21:44:09 +03:00
Nikolay Nikolov
b46c010f82 + also support immutable wasm globals in the wasm assembler writer (both internal and external) 2021-09-27 05:40:26 +03:00
Nikolay Nikolov
8226233aa3 * introduced the tai_globaltype asm directive, use that to declare the stack
pointer global symbol
2021-09-27 02:39:43 +03:00
Nikolay Nikolov
a1c8e92904 * emit a tai_tagtype for __FPC_exception instead of hardcoding the asm output
directly when wasm native exceptions are enabled
2021-09-27 00:33:57 +03:00
Nikolay Nikolov
1c8579da2e * simplified and integrated the WriteImportExport procedure into the case
statement. Use similar statements to write the asm code for the export_name,
  like we use for the import_name directive.
2021-09-26 18:40:49 +03:00
Nikolay Nikolov
346b57e238 * tai_impexp renamed tai_export_name
* ait_importexport renamed ait_export_name
2021-09-26 18:35:10 +03:00
Nikolay Nikolov
2940d0f45f - removed unused constructor of tai_impexp, as well as unused member variable extmodule 2021-09-26 18:29:28 +03:00
Nikolay Nikolov
a6e75d52f7 + introduced tai_import_module and tai_import_name that represent the
.import_module and .import_name assembler directives
2021-09-24 22:14:32 +03:00
Nikolay Nikolov
4064694a5e + support writing the new tai_tagtype directive in the asm output 2021-09-17 02:15:56 +03:00
Yuriy Sydorov
122ed4b76a * Support for sleb128 and uleb128 constants in the NASM writer.
* Added sleb128tostr() and uleb128tostr() methods to TExternalAssembler.
* Use these methods in assembler writers instead of code duplication.
2021-08-16 00:40:34 +03:00
florian
464730dc44 + patch by J. Gareth Moreton: New label debugging feature, resolves #38980
git-svn-id: trunk@49494 -
2021-06-10 20:26:17 +00:00
florian
e9b3db0d78 * more fixes to support vasm on arm
* do not crash on empty eabi attribute strings

git-svn-id: trunk@49397 -
2021-05-22 20:22:53 +00:00
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