pierre
0b5af8a53f
Extend ait_ua_elf_const2str to all aitconst_XXX to fix mips/mipsel RTTI generation
...
git-svn-id: trunk@45719 -
(cherry picked from commit f71415a2de
)
2023-05-25 21:37:47 +00:00
Pierre Muller
7b2f6871ff
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.
(cherry picked from commit d217a459aa
)
2023-05-25 21:37:47 +00:00
florian
377193e72f
+ gcc_except_table section
...
+ support exception related sections in the default LD linker script
git-svn-id: branches/debug_eh@41285 -
(cherry picked from commit 27ab140dd9
)
2022-08-06 14:16:18 +02:00
Jonas Maebe
76045bfc04
* merged macOS/AArch64 support + revisions these changes depended on
...
git-svn-id: branches/fixes_3_2@46866 -
2020-09-15 19:40:36 +00:00
marco
22f48c207e
# revisions: 39998, requested by Pierre.
...
git-svn-id: branches/fixes_3_2@42006 -
2019-05-06 09:41:54 +00:00
Károly Balogh
ac127ac10a
palmos: no .rodata section here either
...
git-svn-id: trunk@37898 -
2018-01-04 08:26:22 +00:00
nickysn
2af5c9d508
* changed type used for section alignment from byte/shortint to longint, so the
...
internal object writer and the internal linker support object files with
sections with alignment >=256
git-svn-id: trunk@37518 -
2017-10-25 15:47:29 +00:00
yury
f37613ddd8
* Use .rodata and .data.rel.ro sections for Android with PIC.
...
git-svn-id: trunk@36292 -
2017-05-22 13:40:48 +00:00
pierre
f7c2ab2e7c
aggas.pas: Make WriteSection method of TGNUAssembler class virtual.
...
ppcgen/agppcgas.pas: Override WriteSection method in TPPCAIXAssembler class
to compute required alignment for base sections.
git-svn-id: trunk@36227 -
2017-05-16 11:58:33 +00:00
pierre
6eee90ad3f
Fix section alignment code for GNU assembler for smartlinked objects on aix system
...
git-svn-id: trunk@35885 -
2017-04-22 08:48:23 +00:00
yury
d139868dc4
* Use .rodata section for Android.
...
git-svn-id: trunk@35553 -
2017-03-09 20:17:35 +00:00
svenbarth
deb86a9e70
* Windows and GNU AS both correctly handle read only sections with relocations, so make use of that
...
git-svn-id: trunk@35363 -
2017-01-29 17:33:30 +00:00
Károly Balogh
f1f18d6f83
aggas: removed a bunch of amiga related hacks which are unnecessary if those systems use an aout GAS writer. made it possible to inject sectionattrs in a generic way
...
git-svn-id: trunk@35115 -
2016-12-12 22:44:36 +00:00
Károly Balogh
4e51dc2298
m68k: enable named sections for vasm generated objects. have a separate as_m68k_as_aout for a.out objects which doesn't have named sections. amiga and atari gas defaults to a.out, so have it default on these systems. finally enable section smartlinking for amiga and atari, which will be used with vasm assembler
...
git-svn-id: trunk@35112 -
2016-12-11 23:27:24 +00:00
Károly Balogh
ff09cb569d
atari: the Atari GNU AS won't tolerate .section .fpc, much like the amiga one
...
git-svn-id: trunk@34604 -
2016-10-03 04:06:49 +00:00
Károly Balogh
39f0b9c888
m68k: added atari to the .section exception list in the GNU AS writer
...
git-svn-id: trunk@34588 -
2016-10-01 23:38:47 +00:00
Jonas Maebe
5ac99f62e9
+ AT_METADATA symbol type for data that is unrelated to the program
...
exectuion (such as debug information). It's handled the same as
AT_DATA by assemblers/assembler writers.
git-svn-id: trunk@34149 -
2016-07-19 11:57:31 +00:00
florian
90b284e169
+ generate .debug_aranges sections for dwarf debug info: enables faster address to debug info translation
...
git-svn-id: trunk@33454 -
2016-04-08 20:19:59 +00:00
nickysn
178dab45d3
+ added new asm directive 'asd_cpu' (specifies the CPU's instruction set) in the
...
compiler's internal assembly representation. It is not yet generated by the
compiler and is only implemented properly in the NASM writer (but will
eventually be implemented in the other assembler writers as well, including
the internal assembler). In the future, it is intended to allow:
1) catching instructions, generated by the compiler and not supported by the
target CPU, due to a bug in the code generator
2) allowing a different instruction set to be used in inline asm blocks (I'm
planning a new directive for that - {$asmcpu XXX}), because the code
generator will be able to switch target CPU in the middle of the asm output
stream
git-svn-id: trunk@33121 -
2016-02-25 21:47:13 +00:00
Jonas Maebe
3aba28deb7
* factored out the generation of the Objective-C section names, so we can
...
reuse them for llvm too
git-svn-id: trunk@32885 -
2016-01-07 22:06:21 +00:00
Jonas Maebe
110a5642c0
- removed ait_weak/tai_weak, and replaced it with the previously existing
...
asd_weak_reference/asd_weak_definition directives
git-svn-id: trunk@32879 -
2016-01-07 22:05:38 +00:00
Jonas Maebe
d303e15eae
* support custom section names for Darwin platforms
...
git-svn-id: trunk@32396 -
2015-11-21 12:36:13 +00:00
pierre
61aa4b6a40
Solaris assembler does not want 0x90 fill pattern for text section alignment
...
git-svn-id: trunk@32197 -
2015-10-30 11:19:14 +00:00
pierre
90ff332b49
Add -Aas-sol to use native Solaris assembler
...
git-svn-id: trunk@32188 -
2015-10-29 15:10:27 +00:00
yury
2bcd49bbc4
* Fixed i386 case jump table when PIC with GOT and an external assembler is used.
...
git-svn-id: trunk@32036 -
2015-10-13 12:58:19 +00:00
yury
e04a3b4ac6
* Removed unused vars for x86 compiler.
...
git-svn-id: trunk@31743 -
2015-09-17 15:20:15 +00:00
yury
432248cbf1
* Removed lot of unused vars.
...
git-svn-id: trunk@31732 -
2015-09-17 12:48:58 +00:00
yury
61c0448903
* Big fix for ARM GOT support to make it work:
...
- Fixed access to symbols with offset.
- Always use register R9 for GOT pointer to prevent bugs when free register limit is reached in a function.
- GOT is not needed for function calls by name.
git-svn-id: trunk@31681 -
2015-09-14 23:15:10 +00:00
Jonas Maebe
991e1f49bd
* store a pointer to the used tasminfo record in every assembler writer, so
...
that we can use assembler writers with different conventions from the
currently set target_asm (e.g. an x86 assembler writer for inline assembly
in LLVM IR)
git-svn-id: trunk@31628 -
2015-09-12 23:32:13 +00:00
Jonas Maebe
b3d0197f98
* factored out the output file handling (mostly writing data) from the
...
external assembler writer, so we can reuse the archtecture-specific
writers to write inline assembly in LLVM IR files
git-svn-id: trunk@31625 -
2015-09-12 23:32:01 +00:00
Jonas Maebe
3f9f498e0d
- removed leftover alpha, ia64 and vis code
...
git-svn-id: trunk@31446 -
2015-08-28 22:31:29 +00:00
florian
d180187a48
+ DEBUG_AGGAS: tais like tai_marker are written as comments
...
git-svn-id: trunk@30730 -
2015-04-26 17:19:30 +00:00
Jeppe Johansen
e2272c8a7e
Added aitconst_gs for AVR pointer references to Flash.
...
git-svn-id: trunk@30419 -
2015-04-04 10:29:11 +00:00
Jonas Maebe
bd203a5b57
* synchronised with trunk till r30240
...
git-svn-id: branches/hlcgllvm@30241 -
2015-03-15 19:44:58 +00:00
Jonas Maebe
9a73c9a460
* avoid string truncation for ait_symbolpair in assembler writer
...
git-svn-id: trunk@30199 -
2015-03-14 18:35:34 +00:00
Jonas Maebe
fb27dff638
* generate ".abiversion 2" directive when targeting ppc64/ELFv2
...
* generate code to load the TOC register if it's required, and
emit the the ".localentry" directive to indicate to the linker
where the actual function body starts
* support the ".localentry" directive in the ppc64 assembler reader
o disable the fpc_qword_to_double() assembler implementation for
ELFv2, because we can't manually insert the .localentry directive
before the stack allocation code
* perform indirect calls on ppc64 via R12 in ncgcal, as R12 needs to
contain the function address on entry on ppc64/ELFv2 (and it's
a volatile register, so there's no problem with always using
it)
git-svn-id: trunk@30198 -
2015-03-14 18:35:31 +00:00
Jonas Maebe
8445381929
* merged ait_set and ait_thumb_set into a single tai class
...
(tai_symbolpair)
git-svn-id: trunk@30197 -
2015-03-14 18:35:28 +00:00
Jonas Maebe
1e227f78fe
* factored out the check for whether we have to generate dotted function
...
names, and disabled them for ppc64 ELFv2
* disabling those also disables the function descriptors, so use the
_CALL_ELF compiler variable to check whether there is in fact a
function descriptor
git-svn-id: trunk@30196 -
2015-03-14 18:35:25 +00:00
Jeppe Johansen
914e9e7b49
Merged from trunk
...
git-svn-id: branches/laksen/armiw@30146 -
2015-03-08 12:33:46 +00:00
Jonas Maebe
67b8aceaee
* synchronized with privatetrunk till r30095
...
git-svn-id: branches/hlcgllvm@30101 -
2015-03-05 20:32:15 +00:00
Jonas Maebe
79a06b1514
+ iphonesim/x86_64 target (64 bit iOS simulator)
...
git-svn-id: trunk@29970 -
2015-02-23 22:56:09 +00:00
Jonas Maebe
1aee714c36
* updated PIC comment for Darwin/AArch64
...
git-svn-id: trunk@29921 -
2015-02-23 22:53:01 +00:00
Jonas Maebe
572742e546
* use Darwin-style section syntax for Darwin/AArch64
...
git-svn-id: trunk@29920 -
2015-02-23 22:52:58 +00:00
Jeppe Johansen
7390acc426
Merged from recent trunk.
...
git-svn-id: branches/laksen/armiw@29369 -
2015-01-01 23:54:40 +00:00
Jeppe Johansen
6976af8365
Change .thumb_func to be an ait_directive instead of it's own tai type.
...
git-svn-id: branches/laksen/armiw@29334 -
2014-12-26 23:13:14 +00:00
pierre
905c47ef84
Fix error with .ref pseudo-op. with assembler labels that still had dollar signs on AIX assembler
...
git-svn-id: trunk@29300 -
2014-12-15 09:10:50 +00:00
marco
2578514853
* first dragonfly patch (existing most). Mantis #27091
...
git-svn-id: trunk@29213 -
2014-12-07 20:27:02 +00:00
florian
3f18d85434
* create a thumb_func directive before .globl directives in assembler to prevent accidental changes of asm mode
...
git-svn-id: trunk@28556 -
2014-08-31 15:01:55 +00:00
Jonas Maebe
5c75b6dd6b
* synchronised with trunk up till r28402
...
git-svn-id: branches/hlcgllvm@28403 -
2014-08-13 16:04:30 +00:00
Jonas Maebe
5836478bce
* add alignment for .lcomm data in AIX, required for int64 data put in bss
...
in case it's passed to interlocked* (requires 8 byte alignment, default
is 4). Supported in AIX 5.3 and later
(http://www-01.ibm.com/support/docview.wss?uid=isg1IY90802 ) and
GNU binutils 2.24 or later
git-svn-id: trunk@28252 -
2014-07-23 14:06:09 +00:00