Jonas Maebe
83d162f5fd
* regenerated for darwin/ppc64
...
git-svn-id: trunk@8744 -
2007-10-08 08:33:03 +00:00
florian
36f7d56e91
+ fpcfg.inc target
...
git-svn-id: trunk@8741 -
2007-10-07 17:57:48 +00:00
florian
6b8e54cff9
* fixed compilation
...
git-svn-id: trunk@8740 -
2007-10-07 17:52:14 +00:00
florian
a5429afeb0
* fixed optimizer options for ide configuration creation
...
git-svn-id: trunk@8739 -
2007-10-07 17:31:29 +00:00
florian
6e5ff9b825
* hack around the -intconst hack in pexpr when recording tokens, resolves #9471
...
git-svn-id: trunk@8734 -
2007-10-06 14:33:57 +00:00
peter
c767df348f
* idata must be aligned on 4 bytes to prevent a corrupt
...
idata2 section where the entries are always 20 bytes
git-svn-id: trunk@8725 -
2007-10-02 18:41:47 +00:00
peter
488c06d275
* don't reuse emptyint
...
git-svn-id: trunk@8724 -
2007-10-02 18:41:07 +00:00
Jonas Maebe
e0a45eaf28
* r8717 for ppc64 (fixed compilation after r8715)
...
git-svn-id: trunk@8720 -
2007-10-02 08:31:04 +00:00
micha
89b5825029
* only use ld -T in case of cross-link (-XR), because not all platforms have complete link script yet
...
git-svn-id: trunk@8718 -
2007-10-01 21:10:51 +00:00
Jonas Maebe
d766707278
* fixed compilation after r8715 (+ aasmbase to uses clause)
...
git-svn-id: trunk@8717 -
2007-10-01 20:01:41 +00:00
peter
1e28adac60
* there can be a tai_stab between lock/rep and the next opcode
...
git-svn-id: trunk@8716 -
2007-10-01 19:23:49 +00:00
peter
9f0ca44c94
* new tf_smartlink_library flag
...
* use create_smartlink[_sections|_library] to check what to
do for smartlinking
git-svn-id: trunk@8715 -
2007-10-01 16:55:08 +00:00
micha
c3e587355d
* fix default dynamic linker location for 64 bit targets in linux
...
git-svn-id: trunk@8707 -
2007-09-30 21:20:04 +00:00
Tomas Hajny
cd82fd376f
* workaround for yet another #%$#@#^ EMX LD.EXE bug (link.res path must not be quoted)
...
git-svn-id: trunk@8706 -
2007-09-30 21:11:10 +00:00
peter
9715eceee7
* fixed expectloc setting for x86_64
...
git-svn-id: trunk@8704 -
2007-09-30 21:02:33 +00:00
peter
76b23821e1
* missing recalculation of relative constant
...
* if aligntype=1 then no alignment fillsize guessing is required
git-svn-id: trunk@8701 -
2007-09-30 20:28:41 +00:00
florian
655ac519d4
* fixed compilation for x86-64
...
git-svn-id: trunk@8698 -
2007-09-30 15:30:00 +00:00
micha
0625040eba
+ add -XR switch for target root file system with libs (also used for C lib type detection)
...
git-svn-id: trunk@8695 -
2007-09-30 15:00:54 +00:00
florian
f290d5195d
* line ending properties set
...
git-svn-id: trunk@8685 -
2007-09-29 22:28:27 +00:00
florian
0ebbbd5380
* spelling mistakes fixed
...
git-svn-id: trunk@8684 -
2007-09-29 22:26:33 +00:00
Jonas Maebe
3a60a28283
* don't try to add current_procinfo.got to used_in_proc if it's a
...
virtual register
* always add EBX to used_in_proc in case pi_needs_got, because it's
currently always used due to the geteipasebx call
* don't explicitly free the PIC register in the exitcode because
then the assembler optimizer assumes the load restoring it (ebx)
can be safely removed
git-svn-id: trunk@8683 -
2007-09-29 20:24:51 +00:00
Jonas Maebe
0a606b308d
- removed unused nested do_generate_code procedure from read_proc
...
git-svn-id: trunk@8678 -
2007-09-29 10:28:40 +00:00
Jonas Maebe
b9752680a5
* fixed crashes when combining -Cg with -g or -pg due to a missing
...
restore of lr in leaf procedures in that case (Darwin-only)
git-svn-id: trunk@8675 -
2007-09-28 23:27:16 +00:00
Jonas Maebe
993ec01a76
* use the gcc jumptable scheme for all ppc targets instead of only for
...
darwin
git-svn-id: trunk@8674 -
2007-09-28 23:00:58 +00:00
Jonas Maebe
5a0a6d0d9e
* fixed and enabled smartlinking on Darwin by adding more .reference
...
statements (some to work around linker bugs, most because they were
really missing)
git-svn-id: trunk@8673 -
2007-09-28 22:48:41 +00:00
Vincent Snijders
bc7e54c3f0
* search preprocessor binary and add it as command line parameter for windres, so that the cpp doesn't need to be on the path
...
git-svn-id: trunk@8670 -
2007-09-28 19:53:19 +00:00
Jonas Maebe
c84744b27f
* fixed a_jmp_name() for darwin/i386 (go via a stub)
...
* fixed g_external_wrapper for darwin/i386 (both with and without pic,
by using a_jmp_name(), because the darwin jump stubs can always
be called directly)
git-svn-id: trunk@8669 -
2007-09-28 14:12:46 +00:00
Jonas Maebe
559bb6226e
* don't try to translate the got register if it's NR_NO (fixes
...
regression of webtbs/tw3402 on linux/ppc64 after r8651)
git-svn-id: trunk@8668 -
2007-09-28 11:15:16 +00:00
peter
b5fb7120b8
* fixed length calculation of leb128 constants
...
git-svn-id: trunk@8666 -
2007-09-27 22:40:38 +00:00
peter
c19217f846
* only for jump instructions we need to look at the relative
...
offset of an symbol
git-svn-id: trunk@8664 -
2007-09-27 20:10:30 +00:00
Jonas Maebe
e81d4b737f
* give a build-time error when trying to cross-compile the compiler from
...
non-i386 to i386 because that will result in internalerrors later anyway
git-svn-id: trunk@8662 -
2007-09-27 13:22:51 +00:00
Jonas Maebe
d7c4fdbed5
* added maxfpuregs constant to fix compilation after r8655
...
git-svn-id: trunk@8658 -
2007-09-26 22:00:29 +00:00
Jonas Maebe
3266f4e483
+ Compiler support for pic on darwin/i386. The i386 rtl still needs
...
to be made pic-safe (mainly accesses to the global default8087cw)
* At the same time also made the non-pic code abi-compliant (access
external data via indirect symbol pointers etc)
Darwin/i386 also puts the got into a virtual register (like
Darwin/ppc), a.o. because the register allocator fails to colour
a routine in aasmcpu.pas if we take away ebx from it.
git-svn-id: trunk@8657 -
2007-09-26 21:42:27 +00:00
peter
4492ee39c5
* remove firstpasscount
...
git-svn-id: trunk@8656 -
2007-09-26 21:13:32 +00:00
peter
6b8aed593f
* remove registers{int/mmx/fpu} from firstpass
...
* small cleanups of unused variables in firstpass
* node_resources_fpu() created to get an approximation of the
required fpu registers
* for the moment use node_complexity in the CG until the
node_resource_int() is created
git-svn-id: trunk@8655 -
2007-09-26 21:12:01 +00:00
Jonas Maebe
7e5e13223e
* also count references to relsymbols
...
git-svn-id: trunk@8654 -
2007-09-26 20:31:41 +00:00
Jonas Maebe
b103605bc3
* added comment clarifying why g_indirect_sym_load doesn't have to
...
care about PIC
git-svn-id: trunk@8653 -
2007-09-26 18:39:14 +00:00
Jonas Maebe
9750e49d5a
* fixed x86 compilation after r8651
...
git-svn-id: trunk@8652 -
2007-09-26 17:25:38 +00:00
Jonas Maebe
335bc9fd46
+ PIC support for darwin/ppc32 (-Cg works now, no regressions in test
...
suite compiled with -Cg compared to without -Cg)
+ support for using a virtual register as PIC/got base register
* moved got loading code from ncgutil to cgobj/cgcpu (can't test whether
it didn't break anything under linux/i386, because "make cycle OPT=-Cg"
was already broken due to the *prt*.as -> si_*.pp changes)
git-svn-id: trunk@8651 -
2007-09-26 16:41:32 +00:00
Jonas Maebe
70c2414daa
* split off sec_rodata_norel from sec_rodata, and only put constant data
...
without relocations in sec_rodata_norel. It should be possible to make
this new section read-only on all platforms, although currently it
is only done for darwin, and for non-pic code written using the
-Aas assembler writer.
Most platforms also have a special section for "constant but with
relocations" data, but such a section is currently only used for
Darwin (others still use plain .data sections for that, like they
did before)
git-svn-id: trunk@8650 -
2007-09-26 15:49:01 +00:00
Jonas Maebe
2de2b6e17f
* changed darwin/ppc32 jumptable code to be the same as the darwin/ppc64
...
code, because that's also what gcc does in all cases and it's pic-safe
git-svn-id: trunk@8643 -
2007-09-25 17:56:23 +00:00
Tomas Hajny
e4fe4e740c
* usedircache reenabled
...
git-svn-id: trunk@8629 -
2007-09-24 05:58:10 +00:00
Jonas Maebe
0cbcf95ff2
* fixed compilation on non-x86 after r8617
...
git-svn-id: trunk@8628 -
2007-09-23 21:21:17 +00:00
Jonas Maebe
2bb0dced62
* optimized code for jumptables (same as for ppc now)
...
* put jump tables in const section for darwin/i386
git-svn-id: trunk@8627 -
2007-09-23 21:15:59 +00:00
Jonas Maebe
83624822c3
* moved and changed format of N_OSO stab to be the same as under gcc
...
* no longer generate the DEBUGSTART/INFO/END/TABLE for Darwin as it
is not needed there and those symbols sometimes confuse the linker
git-svn-id: trunk@8626 -
2007-09-23 21:00:30 +00:00
florian
4cd15058df
* take care of the used fpu instruction set when saving/restoring function results on x86
...
git-svn-id: trunk@8617 -
2007-09-23 14:23:31 +00:00
Jonas Maebe
3f81a4ed65
* make code page name parsing case insensitive (mantis #8930 )
...
git-svn-id: trunk@8610 -
2007-09-22 20:54:49 +00:00
Jonas Maebe
b79e4ff3f0
* fixed typo that broke non-i386 compilation after r8603
...
git-svn-id: trunk@8609 -
2007-09-22 20:46:45 +00:00
Jonas Maebe
ecd2445602
+ segment register support in g_concatcopy (should fix #9667 , but I
...
can't test since I don't have Dos/Windows -- at least the changes
don't break Linux/i386)
git-svn-id: trunk@8608 -
2007-09-22 20:10:56 +00:00
florian
4d57395a12
* indoniesan language update by Zaenal Mutaqin
...
git-svn-id: trunk@8606 -
2007-09-22 19:43:48 +00:00