mirror of
https://github.com/urbit/shrub.git
synced 2024-12-22 18:31:44 +03:00
Merge remote-tracking branch 'origin/release-candidate' into lighter-than-eyre
This commit is contained in:
commit
4ebaf49b02
@ -188,12 +188,7 @@
|
||||
|
||||
/* Entropy
|
||||
*/
|
||||
# if defined(U3_OS_bsd) && defined(__OpenBSD__)
|
||||
# define c3_rand(rd) (getentropy((void*)rd, 64) == 0 ? \
|
||||
(void)0 : c3_assert(!"ent"))
|
||||
# else
|
||||
# define c3_rand u3_sist_rand
|
||||
# endif
|
||||
#define c3_rand u3_sist_rand
|
||||
|
||||
/* Static assertion
|
||||
*/
|
||||
|
@ -12,5 +12,6 @@
|
||||
|
||||
#mesondefine U3_MEMORY_DEBUG
|
||||
#mesondefine U3_CPU_DEBUG
|
||||
#mesondefine U3_EVENT_TIME_DEBUG
|
||||
|
||||
#endif /*CONFIG_H*/
|
||||
|
14
meson.build
14
meson.build
@ -240,6 +240,7 @@ conf_data = configuration_data()
|
||||
conf_data.set('URBIT_VERSION', '"0.6.0"')
|
||||
conf_data.set('U3_MEMORY_DEBUG', get_option('gc'))
|
||||
conf_data.set('U3_CPU_DEBUG', get_option('prof'))
|
||||
conf_data.set('U3_EVENT_TIME_DEBUG', get_option('event-time'))
|
||||
|
||||
osdet = build_machine.system()
|
||||
os_c_flags = ['-funsigned-char','-ffast-math']
|
||||
@ -271,13 +272,20 @@ elif osdet == 'darwin'
|
||||
|
||||
os_deps = os_deps + [ncurses_dep]
|
||||
|
||||
elif osdet == 'bsd'
|
||||
elif osdet == 'bsd' or osdet == 'freebsd'
|
||||
conf_data.set('U3_OS_bsd', true)
|
||||
|
||||
pthread_dep = meson.get_compiler('c').find_library('pthread')
|
||||
kvm_dep = meson.get_compiler('c').find_library('kvm')
|
||||
ncurses_dep = dependency('ncurses')
|
||||
os_deps = os_deps + [kvm_dep, pthread_dep, ncurses_dep]
|
||||
|
||||
elif osdet == 'openbsd'
|
||||
conf_data.set('U3_OS_bsd', true)
|
||||
os_link_flags = ['-L/usr/local/lib', '-lgmp', '-lsigsegv', '-lcurses']
|
||||
gmp_dep = []
|
||||
sigsegv_dep = []
|
||||
|
||||
else
|
||||
error('Unsupported OS detected:' + osdet)
|
||||
endif
|
||||
@ -295,7 +303,7 @@ configure_file(input : 'include/config.h.in',
|
||||
configuration : conf_data)
|
||||
|
||||
# We expect these libs to supplied with the distribution
|
||||
curl_dep = dependency('libcurl', version: '>=7.35.0')
|
||||
curl_dep = dependency('libcurl', version: '>=7.19.0')
|
||||
|
||||
if osdet == 'darwin' and not get_option('nix')
|
||||
libcrypto = meson.get_compiler('c').find_library('crypto', dirs: [ '/usr/local/opt/openssl/lib/' ])
|
||||
@ -308,7 +316,7 @@ endif
|
||||
if(legacy_meson)
|
||||
gmp_dep = find_library('gmp')
|
||||
sigsegv_dep = find_library('sigsegv')
|
||||
else
|
||||
elif osdet != 'openbsd'
|
||||
gmp_dep = meson.get_compiler('c').find_library('gmp')
|
||||
sigsegv_dep = meson.get_compiler('c').find_library('sigsegv')
|
||||
endif
|
||||
|
@ -2,5 +2,7 @@ option('gc', type : 'boolean', value : false,
|
||||
description : 'Add debugging information to heap. Run with -g. Breaks image.')
|
||||
option('prof', type : 'boolean', value : false,
|
||||
description : 'Activate profiling. Run with -P.')
|
||||
option('event-time', type : 'boolean', value : false,
|
||||
description : 'Print timing information per event.')
|
||||
option('nix', type: 'boolean', value: false,
|
||||
description: 'Build using nix.')
|
||||
|
@ -625,14 +625,15 @@ u3m_bail(u3_noun how)
|
||||
}
|
||||
else {
|
||||
c3_assert(_(u3ud(u3h(how))));
|
||||
|
||||
fprintf(stderr, "\r\nbail: %d\r\n", u3h(how));
|
||||
u3m_p("bail", u3t(how));
|
||||
}
|
||||
}
|
||||
|
||||
switch ( how ) {
|
||||
case c3__fail:
|
||||
case c3__fail: {
|
||||
break;
|
||||
}
|
||||
|
||||
case c3__meme: {
|
||||
fprintf(stderr, "bailing out\r\n");
|
||||
abort();
|
||||
|
@ -45,7 +45,7 @@ u3_lo_tank(c3_l tab_l, u3_noun tac);
|
||||
void
|
||||
u3t_slog(u3_noun hod)
|
||||
{
|
||||
#ifdef GHETTO
|
||||
#ifdef U3_EVENT_TIME_DEBUG
|
||||
static int old;
|
||||
static struct timeval b4, f2, d0;
|
||||
c3_w ms_w;
|
||||
@ -604,7 +604,7 @@ u3t_boot(void)
|
||||
setitimer(ITIMER_PROF, &itm_v, 0);
|
||||
}
|
||||
#elif defined(U3_OS_bsd)
|
||||
# error "Profiling isn't yet supported on BSD"
|
||||
// XX "Profiling isn't yet supported on BSD"
|
||||
#else
|
||||
# error "port: profiling"
|
||||
#endif
|
||||
@ -644,7 +644,7 @@ u3t_boff(void)
|
||||
}
|
||||
|
||||
#elif defined(U3_OS_bsd)
|
||||
# error "Profiling isn't yet supported on BSD"
|
||||
// XX "Profiling isn't yet supported on BSD"
|
||||
#else
|
||||
# error "port: profiling"
|
||||
#endif
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 66a72cf2084799d0799874d4fa3c530a73713d81
|
||||
Subproject commit 87f73ffad3d3047baf1ed134fb7827a9dca163ee
|
@ -186,6 +186,13 @@ _main_getopt(c3_i argc, c3_c** argv)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(U3_OS_bsd)
|
||||
if (u3_Host.ops_u.pro == c3y) {
|
||||
fprintf(stderr, "profiling isn't yet supported on BSD\r\n");
|
||||
return c3n;
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( 0 != u3_Host.ops_u.fak_c ) {
|
||||
if ( 28 < strlen(u3_Host.ops_u.fak_c) ) {
|
||||
fprintf(stderr, "fake comets are disallowed\r\n");
|
||||
|
@ -1559,7 +1559,7 @@ _raft_lame(u3_noun ovo, u3_noun why, u3_noun tan)
|
||||
static u3_noun
|
||||
_raft_punk(u3_noun ovo)
|
||||
{
|
||||
#ifdef GHETTO
|
||||
#ifdef U3_EVENT_TIME_DEBUG
|
||||
c3_c* txt_c = u3r_string(u3h(u3t(ovo)));
|
||||
#endif
|
||||
c3_w sec_w;
|
||||
@ -1574,7 +1574,7 @@ _raft_punk(u3_noun ovo)
|
||||
sec_w = 0;
|
||||
} else sec_w = 600;
|
||||
|
||||
#ifdef GHETTO
|
||||
#ifdef U3_EVENT_TIME_DEBUG
|
||||
struct timeval b4, f2, d0;
|
||||
gettimeofday(&b4, 0);
|
||||
if( c3__belt != u3h(u3t(ovo)) ){
|
||||
@ -1587,7 +1587,7 @@ _raft_punk(u3_noun ovo)
|
||||
gon = u3m_soft(sec_w, u3v_poke, u3k(ovo));
|
||||
u3t_event_trace("Running", 'e');
|
||||
|
||||
#ifdef GHETTO
|
||||
#ifdef U3_EVENT_TIME_DEBUG
|
||||
c3_w ms_w;
|
||||
c3_w clr_w;
|
||||
|
||||
@ -2015,8 +2015,7 @@ _raft_pump(u3_noun ovo)
|
||||
|
||||
ron = u3ke_jam(u3nc(u3k(u3A->now), ovo));
|
||||
c3_assert(u3A->key);
|
||||
// don't encrypt for the moment, bootstrapping
|
||||
// ron = u3dc("en:crua", u3k(u3A->key), ron);
|
||||
ron = u3dc("en:crub:crypto", u3k(u3A->key), ron);
|
||||
|
||||
len_w = u3r_met(5, ron);
|
||||
bob_w = c3_malloc(len_w * 4L);
|
||||
|
13
vere/sist.c
13
vere/sist.c
@ -415,12 +415,18 @@ _sist_bask(c3_c* pop_c, u3_noun may)
|
||||
void
|
||||
u3_sist_rand(c3_w* rad_w)
|
||||
{
|
||||
#if defined(U3_OS_bsd) && defined(__OpenBSD__)
|
||||
if (-1 == getentropy(rad_w, 64)) {
|
||||
c3_assert(!"lo_rand");
|
||||
}
|
||||
#else
|
||||
c3_i fid_i = open(DEVRANDOM, O_RDONLY);
|
||||
|
||||
if ( 64 != read(fid_i, (c3_y*) rad_w, 64) ) {
|
||||
c3_assert(!"lo_rand");
|
||||
}
|
||||
close(fid_i);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* _sist_fast(): offer to save passcode by mug in home directory.
|
||||
@ -971,13 +977,10 @@ _sist_rest()
|
||||
continue;
|
||||
}
|
||||
|
||||
#if 0
|
||||
// disable encryption for now
|
||||
//
|
||||
if ( u3A->key ) {
|
||||
u3_noun dep;
|
||||
|
||||
dep = u3dc("de:crua", u3k(u3A->key), ron);
|
||||
dep = u3dc("de:crub:crypto", u3k(u3A->key), ron);
|
||||
if ( c3n == u3du(dep) ) {
|
||||
uL(fprintf(uH, "record (%s) is corrupt (k)\n", ful_c));
|
||||
u3_lo_bail();
|
||||
@ -987,7 +990,7 @@ _sist_rest()
|
||||
u3z(dep);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
roe = u3nc(u3ke_cue(ron), roe);
|
||||
}
|
||||
u3A->ent_d = c3_max(las_d + 1ULL, old_d);
|
||||
|
Loading…
Reference in New Issue
Block a user