Commit Graph

8174 Commits

Author SHA1 Message Date
florian
c0f80338ab + support for dwarf parameter symbols
git-svn-id: trunk@2397 -
2006-02-01 22:44:19 +00:00
florian
2c1e796f1f * fixed regallocator for m68k
git-svn-id: trunk@2395 -
2006-02-01 20:26:28 +00:00
Károly Balogh
9a879981ed * even more m68k mess
a tiny fix, and some code from ppc cg, to serve as base

git-svn-id: trunk@2391 -
2006-02-01 15:19:58 +00:00
florian
8f9c450535 + typed constants for dwarf
git-svn-id: trunk@2387 -
2006-01-31 22:32:54 +00:00
florian
c23b328f96 + first implementation of record dwarf debugging info
git-svn-id: trunk@2386 -
2006-01-31 22:13:49 +00:00
Károly Balogh
37024dc4d0 + more m68k mess... ignore :)
git-svn-id: trunk@2384 -
2006-01-31 16:58:50 +00:00
Károly Balogh
8d8e9b8806 + more 68k mess, committed to transfer between dev machines, ignore
git-svn-id: trunk@2382 -
2006-01-31 01:39:24 +00:00
tom_at_work
a2307edf2c * fixed -dUSE_SYSUTILS compilation
* the call to "ar" is now automatically broken into multiple calls, avoiding shell errors when expanding the '*' in the original commandline

git-svn-id: trunk@2378 -
2006-01-29 18:01:53 +00:00
tom_at_work
453bb6d1c9 * removed libc package from build for every linux platform but i386 and x86-64 (libc is a x86 specific kylix compatibility library)
git-svn-id: trunk@2376 -
2006-01-29 17:49:42 +00:00
florian
133366a411 * fixed writing of string constant symbols
git-svn-id: trunk@2375 -
2006-01-29 12:37:53 +00:00
florian
a5d254e8fe * dwarf:
+ array debug info
  + constant sym debug info

git-svn-id: trunk@2374 -
2006-01-29 12:06:57 +00:00
florian
8c408e67fd * gdb doesn't support set types in dwarf yet
git-svn-id: trunk@2372 -
2006-01-29 09:28:23 +00:00
florian
b4946c6dc9 * started to fix setdef writing for dwarf
* some missing finish_entry inserted

git-svn-id: trunk@2369 -
2006-01-28 23:52:39 +00:00
florian
2b059f925f + ignore rtti syms in dwarf
git-svn-id: trunk@2368 -
2006-01-28 23:40:54 +00:00
florian
3fad2d3c72 * dwarf for sets and typesyms
git-svn-id: trunk@2367 -
2006-01-28 23:34:18 +00:00
florian
97b135f5cd * enumeration sym names need trailing #0
git-svn-id: trunk@2365 -
2006-01-28 22:46:18 +00:00
florian
e75d5ac47c * fixed previous commit
git-svn-id: trunk@2364 -
2006-01-28 22:42:34 +00:00
florian
826b5cf34a + dwarf support for enums
git-svn-id: trunk@2363 -
2006-01-28 22:36:27 +00:00
florian
30c0b4dae5 + dwarf for floats
git-svn-id: trunk@2362 -
2006-01-28 22:22:25 +00:00
florian
64acd83ab4 + dwarf for procedures and local symbols
git-svn-id: trunk@2360 -
2006-01-28 21:26:37 +00:00
florian
3755909958 + basic types and pointer types completed
git-svn-id: trunk@2357 -
2006-01-28 18:02:41 +00:00
florian
5391a1632e * fixed filename and dir writting for dwarf compilation unit
git-svn-id: trunk@2356 -
2006-01-28 16:51:15 +00:00
florian
cac8dca3f8 * fixed line info
git-svn-id: trunk@2355 -
2006-01-28 16:43:52 +00:00
florian
8cd8e4ba8d + basic dwarf support for variables and types
git-svn-id: trunk@2353 -
2006-01-28 16:06:08 +00:00
Károly Balogh
db07870443 totally messy m68k changes. cleanup in progress
git-svn-id: trunk@2352 -
2006-01-27 14:20:35 +00:00
Jonas Maebe
4fcc98fbf9 * fixed tlist overflow in some corner cases when fixing up jumps
git-svn-id: trunk@2342 -
2006-01-26 09:54:56 +00:00
Jonas Maebe
c4b6652468 * fixed tlist overflow in some corner cases when fixing up jumps
git-svn-id: trunk@2341 -
2006-01-26 09:54:50 +00:00
peter
01808d825d * use alt_dbgframe for call frame info labels
git-svn-id: trunk@2339 -
2006-01-25 21:48:27 +00:00
peter
068c67190b * fix wrong opsize for rangecheck to qword
git-svn-id: trunk@2338 -
2006-01-25 21:46:51 +00:00
peter
0bbead8114 * use use_section_smartlink instead of af_smartlink_sections
git-svn-id: trunk@2336 -
2006-01-25 18:07:36 +00:00
Jonas Maebe
46c0fc3e7c * fixed patch of r2313 (unit init code was not called anymore for
libraries)

git-svn-id: trunk@2334 -
2006-01-25 16:52:32 +00:00
olle
7b811ac58e Added short circuit evaluation of compile time expressions
git-svn-id: trunk@2331 -
2006-01-23 21:34:24 +00:00
Jonas Maebe
d2ba35df7e * don't destroy edi when allocating the stack frame for win32
git-svn-id: trunk@2330 -
2006-01-23 10:54:48 +00:00
florian
238d18bef2 * fixed some broken stuff due to tai_const refactoring
git-svn-id: trunk@2329 -
2006-01-22 21:50:12 +00:00
florian
c1c7888179 + some dwarf constants added
git-svn-id: trunk@2328 -
2006-01-22 17:53:33 +00:00
florian
6af88cec0f + first implementation of dwarf line info generation using .file and .loc, little use with binary writers though ...
git-svn-id: trunk@2327 -
2006-01-22 15:59:26 +00:00
daniel
6ba68594be * Add --32 or --64 to to ensure functionality of i386 compiler on x64_64 OSes.
git-svn-id: trunk@2325 -
2006-01-22 14:29:07 +00:00
florian
b06643a1eb * tai_const refactored
git-svn-id: trunk@2323 -
2006-01-22 12:58:38 +00:00
peter
1e236c65b7 * fix order of libraries for -pg
git-svn-id: trunk@2321 -
2006-01-22 11:16:15 +00:00
daniel
6b83af08ed * Add --64 or --32 to as call to allow i386 make cycle using -Aas on
x64_64 systems.

git-svn-id: trunk@2320 -
2006-01-22 11:06:10 +00:00
Jonas Maebe
d4ec987a0f * fixed compilation
git-svn-id: trunk@2319 -
2006-01-22 09:38:53 +00:00
florian
aa176601fb + added more dwarf sections
git-svn-id: trunk@2318 -
2006-01-21 21:22:47 +00:00
florian
f5d790f9b6 * i386 uses dwarf cfi info on linux/win32, so even when omitting the stack frame, trace backs in gdb are correct
git-svn-id: trunk@2316 -
2006-01-21 14:30:57 +00:00
Jonas Maebe
2ef0f67ebb * don't call parameter setup code for library init code (darwin/mac os)
git-svn-id: trunk@2313 -
2006-01-20 22:00:15 +00:00
peter
abc49206fc * section smartlink for win32 added, disabled by default because ld.exe
ignores the --gc-sections for pe-i38

git-svn-id: trunk@2305 -
2006-01-16 10:50:02 +00:00
peter
2ee18b3d8c * support section names with length > 8
git-svn-id: trunk@2304 -
2006-01-16 10:48:21 +00:00
peter
c297cb1569 * generate also external stubs for win32 without import section
git-svn-id: trunk@2303 -
2006-01-15 22:05:52 +00:00
florian
a76d26bcb1 * according to errore.msg -gw generates dwarf debugging info, this wasn't the case, fixed
git-svn-id: trunk@2298 -
2006-01-15 16:08:43 +00:00
marco
4fe8654fe4 * shared lib i_ and t_ changes. Some small comments cleanup to t_
git-svn-id: trunk@2297 -
2006-01-15 15:22:29 +00:00
florian
d525a3b162 + set WINDOWS define on all Windows platforms (Win32,Win64,WinCE)
git-svn-id: trunk@2291 -
2006-01-15 11:00:35 +00:00
Jonas Maebe
f6864a653f * don't warn about possible use of uninitialised function results of
parent procedures in nested procedures (bug 4675)

git-svn-id: trunk@2287 -
2006-01-14 15:34:38 +00:00
Jonas Maebe
09a668dac9 * check whether loop counters are valid for assignment (bug 4695)
git-svn-id: trunk@2285 -
2006-01-14 14:09:39 +00:00
florian
b9a0e2ead2 * makefile again regenerated
git-svn-id: trunk@2280 -
2006-01-13 20:32:53 +00:00
florian
40290348bc * Makefiles regenerated
git-svn-id: trunk@2279 -
2006-01-13 19:49:25 +00:00
peter
daa0be6ed1 * use not unsetbool for -WI-
git-svn-id: trunk@2277 -
2006-01-13 17:27:47 +00:00
peter
45176ea2a8 * split tstringtype for stringdef and stringconstnode
to prevent wrong typecasts

git-svn-id: trunk@2276 -
2006-01-13 17:20:27 +00:00
Károly Balogh
b0d7dd59e8 * fixed case sensitivity flags for Amiga & co
git-svn-id: trunk@2275 -
2006-01-13 16:26:39 +00:00
peter
66f8276445 * refactor booleans in systeminfo structure, they are now flags
* support for case aware filesystems (Windows), they do now only
    one lookup if a file exists
  * add -WI option to generate import section for DLL imports or
    let the linker handle it. Default is still import section until
    the Makefiles are fixed, then the generation can be left to the
    linker

git-svn-id: trunk@2274 -
2006-01-13 15:13:26 +00:00
florian
44fb1f1db8 * symbol_end for typed consts
git-svn-id: trunk@2269 -
2006-01-12 20:38:22 +00:00
florian
9ad60a821f * fixed building on non unix targets
* increased copyright
* changed version to 2.0.2

git-svn-id: trunk@2264 -
2006-01-12 08:18:22 +00:00
peter
a5f659b982 * support FPCDATE include
git-svn-id: trunk@2263 -
2006-01-12 06:59:43 +00:00
florian
30fc11e7ca * makefiles regenerated
git-svn-id: trunk@2260 -
2006-01-11 21:46:28 +00:00
florian
270c8def11 * prefix and extension handling fixed
git-svn-id: trunk@2258 -
2006-01-11 21:43:12 +00:00
florian
210f9c07d6 + makefiles adapted for shared library support
git-svn-id: trunk@2257 -
2006-01-11 21:42:30 +00:00
Jonas Maebe
ef4ece3674 * fixed allocregbetween in case the first removed tai_regalloc is an
allocation

git-svn-id: trunk@2241 -
2006-01-09 10:07:14 +00:00
Károly Balogh
b718d9ff37 + added framework code for AmigaOS/PPC syscall support
git-svn-id: trunk@2239 -
2006-01-09 08:58:30 +00:00
Tomas Hajny
6aced9e534 * fix for web bug #4182
git-svn-id: trunk@2238 -
2006-01-09 02:52:55 +00:00
Jonas Maebe
9f8753c6c0 * fixed web bug #4669 (usage of location.loc instead of expectloc)
git-svn-id: trunk@2236 -
2006-01-08 21:11:04 +00:00
Jonas Maebe
1273e0d7ed * generate signed comparisons for immediate equality comparisons if
possible, because those can be optimized better by the peephole
    optimizer

git-svn-id: trunk@2235 -
2006-01-08 19:54:58 +00:00
tom_at_work
9ee594aedd * changes which were forgotten to commit in r2222 for ppc32 cg
git-svn-id: trunk@2234 -
2006-01-08 18:08:26 +00:00
tom_at_work
6e290373c8 * div by const now enabled with -O2 (not -O3)
* large integer constants (>2 instructions to load) are put into the TOC as well

git-svn-id: trunk@2233 -
2006-01-08 18:04:44 +00:00
tom_at_work
60345fa78a * removed hexstr(), already in RTL (and even supports 64 bit integers)
git-svn-id: trunk@2232 -
2006-01-08 18:01:34 +00:00
florian
f5e89801da + added option -i<path> for input path
git-svn-id: trunk@2226 -
2006-01-08 15:52:30 +00:00
Jonas Maebe
db580afbff * fixed refs bookkeeping of jump labels (fix from Florian in popt386)
git-svn-id: trunk@2225 -
2006-01-08 15:50:14 +00:00
tom_at_work
4e35206d33 * basic ppc64 PIC code support
git-svn-id: trunk@2223 -
2006-01-08 13:28:46 +00:00
tom_at_work
c887507adf * generic compiler patches for ppc64/linux PIC code
git-svn-id: trunk@2222 -
2006-01-08 13:27:31 +00:00
Jonas Maebe
e4451558c4 * optimized register allocation for tempnodes
git-svn-id: trunk@2221 -
2006-01-08 12:53:43 +00:00
florian
844e78b401 * error corrections for message files from Karl-Michael Schindler
git-svn-id: trunk@2217 -
2006-01-08 09:18:08 +00:00
tom_at_work
8c8e25353b * reverted changes from 2214, needs to be split into several commits
git-svn-id: trunk@2215 -
2006-01-08 01:03:15 +00:00
tom_at_work
6313a9be7b * basic code generation for dynamic linking code for ppc64
git-svn-id: trunk@2214 -
2006-01-07 22:16:33 +00:00
Jonas Maebe
5e9db609e3 * fixed bug fixref whereby a register of a reference was overwritten
git-svn-id: trunk@2212 -
2006-01-07 21:52:17 +00:00
florian
e43a1223ff * fixed refs book keeping
git-svn-id: trunk@2211 -
2006-01-07 21:10:39 +00:00
Jonas Maebe
a8ea851999 * changed min and max so more efficient code is generated for them
git-svn-id: trunk@2209 -
2006-01-07 16:36:04 +00:00
Jonas Maebe
c54826b403 * removed extra deallocation and allocation of function result
registers, allows for most optimal code possible to be generated
    for trivial functions (but in some cases worsens generated code
    because the register allocator is not 100% optimal)

git-svn-id: trunk@2208 -
2006-01-07 16:19:19 +00:00
Jonas Maebe
1521a33979 * fixed allocregdebug code
git-svn-id: trunk@2204 -
2006-01-07 15:01:46 +00:00
florian
a3e3e7e8c5 * avoid esp to be freed
git-svn-id: trunk@2203 -
2006-01-07 14:32:09 +00:00
Károly Balogh
cd38c236a0 + made the compiler to know about PowerPC AmigaOS
git-svn-id: trunk@2201 -
2006-01-07 04:46:27 +00:00
Károly Balogh
fd54c6b468 + ppc-amigaos stack cookie support
git-svn-id: trunk@2199 -
2006-01-07 02:41:15 +00:00
Jonas Maebe
5692b93a52 * fixed bug in regalloc info in case a sequence is swapped with
a storeback at the end (i.e., "mov x,y" ... "mov y,x")

git-svn-id: trunk@2197 -
2006-01-06 15:29:25 +00:00
Jonas Maebe
a885e9da0e * fixed replaceregdebug code
git-svn-id: trunk@2196 -
2006-01-06 14:55:42 +00:00
Jonas Maebe
0da53e4ff0 * don't give an IE with extdebug on darwin if a symbol is "re-allocated"
with a wrong type, because we can't know the type of a symbol in the
    CG

git-svn-id: trunk@2194 -
2006-01-06 12:08:43 +00:00
Jonas Maebe
fc1b5c9fe2 * fixed backwards extension of regalloc information
git-svn-id: trunk@2193 -
2006-01-06 11:17:29 +00:00
Jonas Maebe
ac24965242 * procedures which use goto/label revert to the older and less
efficient regvar allocation scheme
  * also allocate regvars before the loops, not just afterwards

git-svn-id: trunk@2192 -
2006-01-05 23:45:00 +00:00
Jonas Maebe
ea89d8a881 * don't move addresses in a LOC_CREGISTER to another register for
derefnodes

git-svn-id: trunk@2190 -
2006-01-05 20:46:20 +00:00
florian
9670e0eb78 * leave stackframe on x86-64 as well away if possible
git-svn-id: trunk@2187 -
2006-01-05 18:08:33 +00:00
Jonas Maebe
61ef30381c * Only synchronise regvars after a loop (and only those regvars
which are used in the loop). The compiler makes now much
    more efficient use of registers for register variables (and
    different regvars can now also share the same register if
    their live range does not overlap)

git-svn-id: trunk@2186 -
2006-01-05 17:48:11 +00:00
Jonas Maebe
b769a968e3 * make sure live_start and live_end are correctly updated while
generating the initialisation and entry code

git-svn-id: trunk@2185 -
2006-01-05 17:46:16 +00:00
Jonas Maebe
24c3ec1095 * also process methodpointerinit and methodpointerdone fields
of calln in foreachnode*()

git-svn-id: trunk@2183 -
2006-01-05 16:49:31 +00:00
Jonas Maebe
fe71df8928 * also synchronise FPU and MM CREGISTERS at the end of procedures
git-svn-id: trunk@2178 -
2006-01-05 10:24:14 +00:00
florian
1024b80867 + sub routines with children with asm blocks need a real stack frame, fixes new failure of tw0848
git-svn-id: trunk@2177 -
2006-01-05 10:10:58 +00:00