- removed assembler from SysRelocateThreadVars: never actually worked, and this file is shared between different CPUs - not a proper place for assembler anyway.
- Obtain handle of kernel32.dll using GetModuleHandle, allows to get rid of UnloadLibrary call.
git-svn-id: trunk@17975 -
to cleanup more than one target using distclean.
* Added new fpmakeclean target to makefiles which does a cleanall and clears
the fpmake executables
git-svn-id: trunk@17969 -
* Set has_errors on more locations
+ Add has_more_infos boolean
* Add -M option to set ExitCode to 2 if more info is available.
* Support constnil type.
git-svn-id: trunk@17953 -
* Clear bits in section flags, that are only valid for object files
* Round section datasize up to filealignment (PECOFF v8 documentation requires this)
* Zero datapos and datasize for all sections w/o data, not just for .bss
* Produce IMPORT_ADDRESS_TABLE directory in exe header
* Entirely smartlink away unused DLLs (these used to have two terminating thunks left)
git-svn-id: trunk@17949 -
- Completely removed DLL_PROCESS_DETACH callback for executables. Reason: 1) it is executed after RTL has been shut down and called ExitProcess(), at which point it is really not a good idea to do the cleanup. 2) In executable (in contrast with DLL) it is just fine to leave remaining resources alone and let OS reclaim them.
* Using 'cvar' for _tls_used and _tls_index to get proper prefixing without $ifdef's.
git-svn-id: trunk@17943 -
- Do not call DLL hooks from exe callback handler.
- Do not call SysInitMultitheading from DLL_THREAD_ATTACH handler, it may only be called from the main thread. See comments in syswin.inc for details. Reverts rev. 17892.
+ To guarantee that SysInitMultithreading is called from the main thread, assume executables always multithreaded, just like DLLs are.
- Also removed all checks with MainThreadIdWin32, except checks for double DLL_PROCESS_DETACH in DLLs. They duplicate what Windows already does (the main thread invokes only PROCESS_ATTACH/PROCESS_DETACH and never THREAD_ATTACH/THREAD_DETACH callbacks).
* Attempts to avoid double initialization/finalization (once in callback, second time in normal control flow).
* Net result: webtbs/tw2423 and webtbs/tw15530 fixed, webtbs/tw3661 broken (because heaptrc does not support checking pointers in TLS area, and with 'always multithreaded' apps the Output varible moves into TLS).
git-svn-id: trunk@17938 -
at command line.
* Also generate NASM register files for x86_64 (for support of NASM
assembler for x86_64 CPU, to be committed later).
git-svn-id: trunk@17927 -
type, and put undef ifdef use define noboolean32 to undo.
Requires only one lazarus change that is backwards compat.
Fixes Mantis #17400
git-svn-id: trunk@17923 -