mirror of
https://github.com/monero-project/monero.git
synced 2024-11-17 08:17:37 +00:00
Fixed binary size issue due to embedded checkpoint data.
Fixed OSX compilation issues due to random lmdb resize points. Fixed infinite loop bug when calling core::get_block_template(..).
This commit is contained in:
parent
2b2ae36724
commit
2e293a563e
7 changed files with 15 additions and 9 deletions
|
@ -30,6 +30,7 @@
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
#include <memory> // std::unique_ptr
|
#include <memory> // std::unique_ptr
|
||||||
#include <cstring> // memcpy
|
#include <cstring> // memcpy
|
||||||
|
#include <random>
|
||||||
|
|
||||||
#include "cryptonote_core/cryptonote_format_utils.h"
|
#include "cryptonote_core/cryptonote_format_utils.h"
|
||||||
#include "crypto/crypto.h"
|
#include "crypto/crypto.h"
|
||||||
|
|
|
@ -35,3 +35,4 @@ else()
|
||||||
set_target_properties(blocks PROPERTIES LINKER_LANGUAGE C)
|
set_target_properties(blocks PROPERTIES LINKER_LANGUAGE C)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
BIN
src/blocks/checkpoints.dat
Normal file
BIN
src/blocks/checkpoints.dat
Normal file
Binary file not shown.
|
@ -84,7 +84,7 @@ target_link_libraries(cryptonote_core
|
||||||
${Boost_PROGRAM_OPTIONS_LIBRARY}
|
${Boost_PROGRAM_OPTIONS_LIBRARY}
|
||||||
${Boost_SERIALIZATION_LIBRARY}
|
${Boost_SERIALIZATION_LIBRARY}
|
||||||
LINK_PRIVATE
|
LINK_PRIVATE
|
||||||
${Blocks}
|
${Blocks}
|
||||||
${Boost_FILESYSTEM_LIBRARY}
|
${Boost_FILESYSTEM_LIBRARY}
|
||||||
${Boost_SYSTEM_LIBRARY}
|
${Boost_SYSTEM_LIBRARY}
|
||||||
${Boost_THREAD_LIBRARY}
|
${Boost_THREAD_LIBRARY}
|
||||||
|
|
|
@ -511,8 +511,8 @@ namespace cryptonote
|
||||||
// Can not exceed maximum block size
|
// Can not exceed maximum block size
|
||||||
if (max_total_size < total_size + tx_it->second.blob_size)
|
if (max_total_size < total_size + tx_it->second.blob_size)
|
||||||
{
|
{
|
||||||
sorted_it++;
|
sorted_it++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If adding this tx will make the block size
|
// If adding this tx will make the block size
|
||||||
|
@ -522,8 +522,8 @@ namespace cryptonote
|
||||||
// to propagate at 60s block times.
|
// to propagate at 60s block times.
|
||||||
if ( (total_size + tx_it->second.blob_size) > CRYPTONOTE_GETBLOCKTEMPLATE_MAX_BLOCK_SIZE )
|
if ( (total_size + tx_it->second.blob_size) > CRYPTONOTE_GETBLOCKTEMPLATE_MAX_BLOCK_SIZE )
|
||||||
{
|
{
|
||||||
sorted_it++;
|
sorted_it++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we've exceeded the penalty free size,
|
// If we've exceeded the penalty free size,
|
||||||
|
@ -536,8 +536,8 @@ namespace cryptonote
|
||||||
// missing key images
|
// missing key images
|
||||||
if (!is_transaction_ready_to_go(tx_it->second) || have_key_images(k_images, tx_it->second.tx))
|
if (!is_transaction_ready_to_go(tx_it->second) || have_key_images(k_images, tx_it->second.tx))
|
||||||
{
|
{
|
||||||
sorted_it++;
|
sorted_it++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
bl.tx_hashes.push_back(tx_it->first);
|
bl.tx_hashes.push_back(tx_it->first);
|
||||||
|
|
|
@ -27,8 +27,12 @@
|
||||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
set(blocksdat "")
|
set(blocksdat "")
|
||||||
if(APPLE AND PER_BLOCK_CHECKPOINT)
|
if(PER_BLOCK_CHECKPOINT)
|
||||||
add_custom_command(OUTPUT blocksdat.o COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && ${CMAKE_C_COMPILER} -o stub.o -c stub.c COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && ld -r -sectcreate __DATA __blocks_dat ../blocks/blocks.dat -o ${CMAKE_CURRENT_BINARY_DIR}/blocksdat.o stub.o)
|
if(APPLE)
|
||||||
|
add_custom_command(OUTPUT blocksdat.o COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && touch stub.c && ${CMAKE_C_COMPILER} -o stub.o -c stub.c COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && ld -r -sectcreate __DATA __blocks_dat ../blocks/checkpoints.dat -o ${CMAKE_CURRENT_BINARY_DIR}/blocksdat.o stub.o && rm -f stub.*)
|
||||||
|
else()
|
||||||
|
add_custom_command(OUTPUT blocksdat.o COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && cp ../blocks/checkpoints.dat blocks.dat && ld -r -b binary -o ${CMAKE_CURRENT_BINARY_DIR}/blocksdat.o blocks.dat && rm -f blocks.dat)
|
||||||
|
endif()
|
||||||
set(blocksdat "blocksdat.o")
|
set(blocksdat "blocksdat.o")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue