ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Picolisp latest found at http://www.software-lab.de/down.html | check also http://www.picolisp.com for more information
alexshendi has joined #picolisp
andyjpb has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 240 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Read error: Connection reset by peer]
alexshendi has quit [Read error: Connection reset by peer]
pierpal has joined #picolisp
pierpal has quit [Ping timeout: 240 seconds]
freeemint has joined #picolisp
rob_w has joined #picolisp
freeemint has quit [Remote host closed the connection]
freeemint has joined #picolisp
<tankf33der> morning
<tankf33der> i did it, compiled with sanitizer
<Regenaxer> Hi tankf33der
<Regenaxer> What is sanitizer?
<tankf33der> this one:
<tankf33der> Enable AddressSanitizer, a fast memory error detector. Memory access instructions are instrumented to detect out-of-bounds and use-after-free bugs.
<tankf33der> -fsanitize=address
<tankf33der> gcc feature
<Regenaxer> I don't think that stack overflows
<Regenaxer> in byteSym() ?
<tankf33der> yea, top call of the stack
<Regenaxer> byteSym does not allocate anything on the stack
<Regenaxer> What does it *really* check?
<Regenaxer> Uh, "currently implemented in Clang" ;)
<tankf33der> when compiled it wraps access to variables and etc and check if all ok
<tankf33der> gcc have for many years too.
<Regenaxer> I'm sure byteSym() is not wrong
<Regenaxer> and surely no stack-buffer-overflow
<tankf33der> ok
<Regenaxer> This example makes sense:
<Regenaxer> int main(int argc, char **argv) {
<Regenaxer> return stack_array[argc + 100]; // BOOM
<Regenaxer> stack_array[1] = 0;
<Regenaxer> int stack_array[100];
<Regenaxer> }
<Regenaxer> But not byteSym()
<tankf33der> this is gcc 5
<tankf33der> hard to find 32 bit linux with modern gcc and sanitizers enabled.
<Regenaxer> It does not work for asm code?
<tankf33der> no
<tankf33der> only c and c++
<Regenaxer> makes no sense
<tankf33der> this is undefined sanitizer run
<Regenaxer> C is static, but overflow checks must be dynamic
<Regenaxer> This is also nonsense: left shift of 1 by 31 places cannot be represented in type 'int'
<Regenaxer> It can, it *must* here to detect sign change
<Regenaxer> Sanitizer seems to be a stupid tool
<tankf33der> only against picolisp
<tankf33der> then
<Regenaxer> Also, I think there is even no shift by 31
<tankf33der> eh
<Regenaxer> in line 64 of big.c
<tankf33der> good try
<Regenaxer> it is a static definition:
<Regenaxer> #define OVFL ((1<<BITS-1))
<Regenaxer> Not at runtime
<Regenaxer> and 'n' is unsigned
<Regenaxer> So no problem anywhere
freeemint has quit [Ping timeout: 240 seconds]
freeemint has joined #picolisp
xificurC has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
andyjpb has joined #picolisp
pierpal has joined #picolisp
xificurC has joined #picolisp
freemint_ has joined #picolisp
freeemint has quit [Ping timeout: 245 seconds]
rob_w has quit [Read error: Connection reset by peer]
rob_w has joined #picolisp
<tankf33der> i've make a huge progess
<tankf33der> i've make a huge progress
<tankf33der> now pil32 with sanitize=address pass builtin tests (without "@test/src/main.l")
<tankf33der> with gcc 8.1.1
<tankf33der> latest ever.
<tankf33der> latest stable ever.
<tankf33der> but "undefined behavior" sanitize still dont understand shifting.
<tankf33der> done.
<tankf33der> issue closed.
<tankf33der> i'm happy now.
<Regenaxer> Cool! :)
<tankf33der> src/main.l is not issue too, lets say pil32 full passed address sanitize
<tankf33der> picolisp call itself in tests and sanitize kills itself and aborting.
orivej has joined #picolisp
freemint_ has quit [Quit: Leaving]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
rob_w has quit [Remote host closed the connection]
alexshendi has joined #picolisp
alexshendi has quit [Ping timeout: 256 seconds]
<beneroth> haha, sounds interesting and a bit funny, tankf33der
<beneroth> thanks for looking into this!
grp has joined #picolisp
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
cess11 has joined #picolisp
cess11 has quit [Client Quit]
alexshendi has joined #picolisp
cess11 has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
pierpal has quit [Ping timeout: 260 seconds]
pierpal has joined #picolisp
xifi has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
styx has joined #picolisp
styx has quit [Ping timeout: 260 seconds]
xifi has quit [Quit: WeeChat 2.1]
grp has quit [Quit: box shutting down...]
andyjpb has quit [Ping timeout: 256 seconds]