Age | Commit message (Collapse) | Author |
|
|
|
Several changes to make the native windows leveldb code compile
with mingw32 and run on 32-bit Windows:
* Remove -std=c++0x dependency (modified code to use NULL instead of
nullptr)
* Link with -lshlwapi
* Only #define snprintf/etc if compiling with Visual Studio
* Do not link against DbgHelp.lib (wrote a CreateDir instead of using
DbgHelp's MakeSureDirectoryPathExists
* Define WINVER=0x0500 so MinGW32 can use the 64-bit-filesystem Windows
api calls
* Define __USE_MINGW_ANSI_STDIO=1 to use MinGW's printf (which supports
%ll)
I also cleaned up makefile.mingw, assuming that dependencies would be in
the standard /usr/local/{include,lib} by default but allowing overriding
with make DEPSDIR=... etc
|
|
enable GCC large address aware linker flag (Windows only)
|
|
Bitcoin-Qt: ensure all Windows scopes use win32 as identifier
|
|
Parallel script verification
|
|
- this flag allows bitcoin-qt.exe / bitcoind.exe (32-bit application) to
handle addresses larger than 2GB (up to 3GB on x86 Windows and up to
4GB on x64 Windows)
|
|
|
|
|
|
* During block verification (when parallelism is requested), script
check actions are stored instead of being executed immediately.
* After every processed transactions, its signature actions are
pushed to a CScriptCheckQueue, which maintains a queue and some
synchronization mechanism.
* Two or more threads (if enabled) start processing elements from
this queue,
* When the block connection code is finished processing transactions,
it joins the worker pool until the queue is empty.
As cs_main is held the entire time, and all verification must be
finished before the block continues processing, this does not reach
the best possible performance. It is a less drastic change than
some more advanced mechanisms (like doing verification out-of-band
entirely, and rolling back blocks when a failure is detected).
The -par=N flag controls the number of threads (1-16). 0 means auto,
and is the default.
|
|
|
|
- currently we sometimes use "windows" or "win32", but as per
http://doc.qt.digia.com/qt/qmake-advanced-usage.html, windows seems to
be not officially supported (only win32 is mentioned there)
|
|
- to be able to see threadsafety.h in the Qt Creator IDE the file needs to
be added to the HEADERS section
|
|
|
|
merged 2 windows:LIBS lines so they happen when they need to (#976)
added -loleaut32 to fix VariantClear
moved -lws2_32 and others to existing windows:LIBS line
|
|
|
|
GCC hardening for Bitcoin-Qt
|
|
|
|
|
|
|
|
Split off CBlockTreeDB and CCoinsViewDB into txdb-*.{cpp,h} files,
implemented by either LevelDB or BDB.
Based on code from earlier commits by Mike Hearn in his leveldb
branch.
|
|
Database-independent glue for supporting LevelDB databases.
Based on code from earlier commits by Mike Hearn in his leveldb
branch.
|
|
|
|
- that flag is not needed when using "-fstack-protector-all", so remove it
(see:
http://stackoverflow.com/questions/1629685/when-and-how-to-use-gccs-stack-protection-feature)
|
|
- this patch enables several new GCC compiler hardening options that
allows us to increase the security of our binaries (see:
https://wiki.debian.org/Hardening)
-D_FORTIFY_SOURCE=2:
Enables compile-time protection against static sized buffer overflows.
-Wl,-z,relro -Wl,-z,now:
Enables full RELRO (RELocation Read-Only), which is a generic mitigation
technique to harden the data sections of an ELF binary/process. See:
http://isisblogs.poly.edu/2011/06/01/relro-relocation-read-only/ for
further details.
|
|
get rid of strlcpy.h
|
|
|
|
Don't use hand-rolled string manipulation routine with a fixed
buffer in the bitcoin core, instead make use of c++ strings and boost.
|
|
This reverts commit 14ac0adcc7c0224a467e38bbd4ebf39d824ada8d.
|
|
commit 5a1a3622 effectively enabled these warnings, but they need
to be fixed before being enabled in the general build scripts.
|
|
change last occurance of mac to macx in Qt project-file
|
|
Compile/link Bitcoin-Qt.app with -pthread on OSX
|
|
|
|
This patch currently excludes our Windows executable!
- change to use -fstack-protector-all
- the minimum size of buffers (i.e. arrays) that will receive stack
smashing protection was changed to 1 byte (GCC default: 8)
- warn about functions that will not be protected against stack
smashing by adding -Wstack-protector
|
|
|
|
Qt: re-order GUI code and remove FIRST_CLASS_MESSAGING
|
|
- add version information to bitcoin-qt.rc, which is displayed on Windows, when looking in the executable properties and selecting "Details"
- introduce a new clientversion.h (used in bitcoin-qt.rc to generate
version information), which takes only the version defines from
version.h and is included in it (to allow usage with the windres rc-file
compiler)
- move #define STRINGIFY(s) #s into clientversion.h as that is used in
bitcoin-qt.rc and rename to DO_STRINGIZE(X)
- add #define STRINGIZE(X) DO_STRINGIZE(X), which is needed to convert the
version defines into a version string in the rc-file
- this ensures we only need to update 1 file and have bitcoin-qt.exe
version information
- for RC-file documentation see:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058%28v=vs.85%29.aspx
|
|
|
|
|
|
- removes the FIRST_CLASS_MESSAGING support from the client, which was no
default setting anyway
|
|
Optional IPv6 spaces cleanup
|
|
They are unneeded as jsonspirit is always used as template library,
the other makefiles don't include them either.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
easier in Qt creator
- Also add src/version.h
|
|
|