Make crypto and compression build optimized in debug, and also try disabling peers.persist -- might ship this way as it seems more trouble than its worth.

This commit is contained in:
Adam Ierymenko 2014-10-12 11:42:49 -07:00
parent 8b0846d077
commit 6316011024
4 changed files with 24 additions and 8 deletions

View File

@ -38,10 +38,13 @@ endif
# "make debug" is a shortcut for this
ifeq ($(ZT_DEBUG),1)
CFLAGS=-Wall -g -pthread $(INCLUDES) -DZT_TRACE -DZT_LOG_STDOUT $(DEFS)
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
CFLAGS=-Wall -g -pthread $(INCLUDES) $(DEFS)
LDFLAGS=
STRIP=echo
DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
# The following line enables optimization for the crypto code, since
# C25519 in particular is almost UNUSABLE in heavy testing without it.
ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS = -Wall -O2 -ftree-vectorize -pthread $(INCLUDES) $(DEFS)
else
CFLAGS=-Wall -O3 -fPIE -fvisibility=hidden -fstack-protector -pthread $(INCLUDES) -DNDEBUG $(DEFS)
LDFLAGS=-pie -Wl,-z,relro,-z,now

View File

@ -24,9 +24,12 @@ DEFS+=-DZT_SALSA20_SSE
# "make debug" is a shortcut for this
ifeq ($(ZT_DEBUG),1)
CFLAGS=-Wall -g -pthread -DZT_TRACE -DZT_LOG_STDOUT $(INCLUDES) $(DEFS)
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
CFLAGS=-Wall -g -pthread $(INCLUDES) $(DEFS)
STRIP=echo
DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
# The following line enables optimization for the crypto code, since
# C25519 in particular is almost UNUSABLE in heavy testing without it.
ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS = -Wall -O2 -ftree-vectorize -pthread $(INCLUDES) $(DEFS)
else
CFLAGS=-arch i386 -arch x86_64 -Wall -O3 -flto -fPIE -fvectorize -fstack-protector -pthread -mmacosx-version-min=10.6 -DNDEBUG -Wno-unused-private-field $(INCLUDES) $(DEFS)
STRIP=strip

View File

@ -50,7 +50,8 @@
#include "NonCopyable.hpp"
#include "Mutex.hpp"
#define ZT_PEER_SERIALIZATION_VERSION 13
// Comment out to disable peers.persist
//#define ZT_PEER_SERIALIZATION_VERSION 13
namespace ZeroTier {
@ -404,6 +405,7 @@ public:
else return std::pair<InetAddress,InetAddress>();
}
#ifdef ZT_PEER_SERIALIZATION_VERSION
template<unsigned int C>
inline void serialize(Buffer<C> &b) const
{
@ -456,6 +458,7 @@ public:
return (p - startAt);
}
#endif // ZT_PEER_SERIALIZATION_VERSION
private:
void _announceMulticastGroups(const RuntimeEnvironment *RR,uint64_t now);

View File

@ -290,6 +290,7 @@ bool Topology::authenticateRootTopology(const Dictionary &rt)
void Topology::_dumpPeers()
{
#ifdef ZT_PEER_SERIALIZATION_VERSION
Buffer<ZT_PEER_WRITE_BUF_SIZE> buf;
std::string pdpath(RR->homePath + ZT_PATH_SEPARATOR_S + "peers.persist");
Mutex::Lock _l(_activePeers_m);
@ -335,14 +336,18 @@ void Topology::_dumpPeers()
}
fclose(pd);
Utils::lockDownFile(pdpath.c_str(),false);
buf.burn();
Utils::lockDownFile(pdpath.c_str(),false);
#endif // ZT_PEER_SERIALIZATION_VERSION
}
void Topology::_loadPeers()
{
Buffer<ZT_PEER_WRITE_BUF_SIZE> buf;
std::string pdpath(RR->homePath + ZT_PATH_SEPARATOR_S + "peers.persist");
#ifdef ZT_PEER_SERIALIZATION_VERSION
Buffer<ZT_PEER_WRITE_BUF_SIZE> buf;
Mutex::Lock _l(_activePeers_m);
_activePeers.clear();
@ -374,8 +379,10 @@ void Topology::_loadPeers()
}
fclose(pd);
Utils::rm(pdpath);
buf.burn();
#endif // ZT_PEER_SERIALIZATION_VERSION
Utils::rm(pdpath);
}
} // namespace ZeroTier