[Snek] [keith-packard/snek] 5a3206: debian: Enable hardening, expose compile options

Keith Packard noreply at github.com
Mon Dec 16 00:26:47 PST 2019


  Branch: refs/heads/debian
  Home:   https://github.com/keith-packard/snek
  Commit: 5a32068bc608d7054462e57b059163a122e3de8a
      https://github.com/keith-packard/snek/commit/5a32068bc608d7054462e57b059163a122e3de8a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-15 (Fri, 15 Nov 2019)

  Changed paths:
    M debian/rules

  Log Message:
  -----------
  debian: Enable hardening, expose compile options

This tries to resolve two complaints buildd had about the current snek
package:

	compiler-flags-hidden
	dpkg-buildflags-missing

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: e8fca0300c2465ec03994f4b324b36a0b7d5f56f
      https://github.com/keith-packard/snek/commit/e8fca0300c2465ec03994f4b324b36a0b7d5f56f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-15 (Fri, 15 Nov 2019)

  Changed paths:
    M debian/snek.lintian-overrides

  Log Message:
  -----------
  debian: Simplify snek.lintian-overrides

Just use snek-*.elf to ignore errors about shipping elf files for
embedded boards.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: e7b263620948667fa775c1c6ec74c121d1e834ce
      https://github.com/keith-packard/snek/commit/e7b263620948667fa775c1c6ec74c121d1e834ce
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-15 (Fri, 15 Nov 2019)

  Changed paths:
    M debian/changelog

  Log Message:
  -----------
  debian: Version 1.2-2

Clean up some buildd complaints

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 73628568bdd245b397b4e0c854d9a321cae9adac
      https://github.com/keith-packard/snek/commit/73628568bdd245b397b4e0c854d9a321cae9adac
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-16 (Sat, 16 Nov 2019)

  Changed paths:
    M snek-parse.c
    M snek.h

  Log Message:
  -----------
  Remove unused include of assert.h

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 4ea5b3014be81007e4a005c291c2b121cc10788a
      https://github.com/keith-packard/snek/commit/4ea5b3014be81007e4a005c291c2b121cc10788a
  Author: Leandro Pereira <leandro at hardinfo.org>
  Date:   2019-11-16 (Sat, 16 Nov 2019)

  Changed paths:
    M ports/duemilanove/snek-duemilanove.c

  Log Message:
  -----------
  ports/duemilanove: Reduce size of has_pwm() function

Use a lookup table in an uint16_t to map which pins are capable of PWM.


  Commit: d0f7a54436a69c7b18cadfa1911f774029dbedd5
      https://github.com/keith-packard/snek/commit/d0f7a54436a69c7b18cadfa1911f774029dbedd5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-16 (Sat, 16 Nov 2019)

  Changed paths:
    M ports/duemilanove/snek-duemilanove.c

  Log Message:
  -----------
  Merge remote-tracking branch 'lpereira/simplify-has-pwm-duemilanove'


  Commit: 2e03beafe8d84a026a2dd51337ff0e76e30837cc
      https://github.com/keith-packard/snek/commit/2e03beafe8d84a026a2dd51337ff0e76e30837cc
  Author: Paulo Henrique Silva <ph.silva at gmail.com>
  Date:   2019-11-21 (Thu, 21 Nov 2019)

  Changed paths:
    A .github/workflows/snek.yml

  Log Message:
  -----------
  New snek build workflow

Use new Github Actions system to implement a CI.

This workflow depends on phsilva/snek image on docker hub. That
image proves all required dependencies built from Debian unstable
necessary to build all snek ports, including qemu based.


  Commit: e9431046e9365e4cb519cf4fc8f7dd998ff17c8a
      https://github.com/keith-packard/snek/commit/e9431046e9365e4cb519cf4fc8f7dd998ff17c8a
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-11-21 (Thu, 21 Nov 2019)

  Changed paths:
    A Dockerfile
    M Makefile

  Log Message:
  -----------
  Add Dockerfile to build snek toolchain image for GH actions


  Commit: c33afdab383b5ccb0629c653a91208f95e63a57b
      https://github.com/keith-packard/snek/commit/c33afdab383b5ccb0629c653a91208f95e63a57b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M chips/atmega/snek-atmega.defs
    M chips/avr/snek-avr.defs
    R chips/avr/strtod.c
    A snek-strtof.c

  Log Message:
  -----------
  Use the smaller strtof implementation on all ATmel ports

This version saves hundreds of bytes of memory.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 8928510314e6128accc030945c349818a2a03f8a
      https://github.com/keith-packard/snek/commit/8928510314e6128accc030945c349818a2a03f8a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M snek-error.c
    M snek.h

  Log Message:
  -----------
  Define snek_panic also when DEBUG_MEMORY is defined

We need snek_panic whenever SNEK_DEBUG is non-zero, or when
DEBUG_MEMORY is defined. Fix the declaration and definition of the
function to suit.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: f971bbeb46190a383a797cbc964979b8012fa665
      https://github.com/keith-packard/snek/commit/f971bbeb46190a383a797cbc964979b8012fa665
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M chips/samd21/ao-interrupt.c

  Log Message:
  -----------
  chips/samd21: Correct samd21_interrupt_vector type

The interrupt vector is a constant array of pointer to function taking
(void) and returning void.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: d8076efc453b5e16ad30b082a70ee8fdec7a66fa
      https://github.com/keith-packard/snek/commit/d8076efc453b5e16ad30b082a70ee8fdec7a66fa
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M ports/qemu-arm/.gitignore
    M ports/qemu-arm/Makefile
    R ports/qemu-arm/run-arm.in
    A ports/qemu-arm/snek-arm.in

  Log Message:
  -----------
  ports/qemu-arm: rename script that runs the qemu-arm port

Call it 'snek-arm' instead of 'run-arm'. This will make reading the
test logs a bit clearer.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 407cef3282d543e62c32618cc00b0f905dd1e58d
      https://github.com/keith-packard/snek/commit/407cef3282d543e62c32618cc00b0f905dd1e58d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M ports/qemu-riscv/.gitignore
    R ports/qemu-riscv/run-riscv.in
    A ports/qemu-riscv/snek-riscv.in

  Log Message:
  -----------
  ports/qemu-riscv: rename script that runs the qemu-riscv port

Call it 'snek-riscv' instead of 'run-riscv'. This will make reading the
test logs a bit clearer.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 59f5eadc402e3cbd9ea37ebf8c37641e511099f3
      https://github.com/keith-packard/snek/commit/59f5eadc402e3cbd9ea37ebf8c37641e511099f3
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M doc/Makefile
    M ports/crickit/Makefile
    M ports/feather/Makefile
    M ports/itsybitsym0/Makefile
    M ports/mega/Makefile
    M ports/metrom0/Makefile
    M ports/nano33iot/Makefile
    M ports/playground/Makefile
    M ports/posix/Makefile
    M ports/qemu-arm/Makefile
    M ports/qemu-riscv/Makefile
    M ports/snekboard/Makefile

  Log Message:
  -----------
  Clean up 'make install'

Stop installing snekboard .elf file

Make sure 'make install' builds everything necessary so that
a preceding 'make all' is not required.

Add dependency for doc/coderay-asciidoctor.css so that Make knows when
it will be built.

Install snek-riscv and snek-arm scripts to let users run them if they
like (they're in $(SHAREDIR), so not on the usual PATH).

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: e8a70ff2d8f532c92487fd7f680fad92d6d3924d
      https://github.com/keith-packard/snek/commit/e8a70ff2d8f532c92487fd7f680fad92d6d3924d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M chips/qemu/snek-qemu.builtin
    M chips/qemu/snek-qemu.c
    M chips/qemu/snek-qemu.h

  Log Message:
  -----------
  chips/qemu: Semihosting file i/o and time

Add enough semihosting support to run the Snek test suite. That
includes file I/O, time functions and the random number generator.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 9fd10f487826789c63cd3d3dc25cfa1040e98782
      https://github.com/keith-packard/snek/commit/9fd10f487826789c63cd3d3dc25cfa1040e98782
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M test/slice.py

  Log Message:
  -----------
  test: Shrink slice test to run in reasonable time under qemu

This still tests all of the cases in the slice code, but runs in a lot
less time so it's reasonable to test the RISC-V and ARM ports under QEMU.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 389cd9d3b5b88a2edcf728536548f314835243ce
      https://github.com/keith-packard/snek/commit/389cd9d3b5b88a2edcf728536548f314835243ce
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M test/Makefile

  Log Message:
  -----------
  test: Set up for testing under QEMU

This will run all of the tests under QEMU for ARM, but is disabled for
now until upstream qemu and picolibc with necessary support is
released.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 54b523c865c7b7b71edb5a966b34c7d4293de2a5
      https://github.com/keith-packard/snek/commit/54b523c865c7b7b71edb5a966b34c7d4293de2a5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    A .github/workflows/snek.yml
    A Dockerfile
    M Makefile

  Log Message:
  -----------
  Merge remote-tracking branch 'phsilva/gh-actions'


  Commit: 55e8839cc287843cecc622502ebf2149de494533
      https://github.com/keith-packard/snek/commit/55e8839cc287843cecc622502ebf2149de494533
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-23 (Sat, 23 Nov 2019)

  Changed paths:
    M .github/workflows/snek.yml

  Log Message:
  -----------
  Use make install to create artifacts

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: c600b0be79fa8342d808c67ffdfbb108521131cf
      https://github.com/keith-packard/snek/commit/c600b0be79fa8342d808c67ffdfbb108521131cf
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M snek-code.c
    M snek-gram.ll
    M snek.h

  Log Message:
  -----------
  Add op code for 'return.

This is just short-hand for 'branch to end of function', but avoids
needing to patch the value after compiling the function.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 40d8f1c35769ca9ffee2a1ed4675dfc9a8caa981
      https://github.com/keith-packard/snek/commit/40d8f1c35769ca9ffee2a1ed4675dfc9a8caa981
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M ports/snekboard/ao-pins.h

  Log Message:
  -----------
  ports/snekboard: Stop using AO_SNEK_PWM_RAMP_STEP

The hardware design has been fixed to keep the 3.3V rail solid during
9V power draw changes by disabling the 9V regulator when the input to
the 3.3V regulator drops below 3.75V.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 786c3ca6a66b552b6692dd9c81225007e57fb35a
      https://github.com/keith-packard/snek/commit/786c3ca6a66b552b6692dd9c81225007e57fb35a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M hosts/linux/Makefile

  Log Message:
  -----------
  hosts/linux: Add empty 'install' target

Make sure 'make install' succeeds.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 33dec7d97a32e3abe5870f7ba53bada7125cba0e
      https://github.com/keith-packard/snek/commit/33dec7d97a32e3abe5870f7ba53bada7125cba0e
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M Makefile
    M doc/Makefile
    M examples/Makefile
    M hosts/windows/Makefile

  Log Message:
  -----------
  Add '|| exit 1' inside Makefile 'for' loops to catch errors

Make sure all elements of the loops succeed, rather than letting them
fail silently.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: bbe46b973643506e3c3323c1cbc4685f64a9c9ff
      https://github.com/keith-packard/snek/commit/bbe46b973643506e3c3323c1cbc4685f64a9c9ff
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M test/Makefile

  Log Message:
  -----------
  Test on ARM, now that picolibc 1.2 has semihost support for fopen

Testing on ARM requires fopen support to open the test files within
qemu. Now that picolibc 1.2 is released, we can rely on that.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 93cd59e79fa67dfa5c8f6da1f4a36d793947e6c0
      https://github.com/keith-packard/snek/commit/93cd59e79fa67dfa5c8f6da1f4a36d793947e6c0
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M snek-code.c
    M snek.h

  Log Message:
  -----------
  Use snek_code_add_op_offset and snek_code_add_op_uint8 more often

Use these functions to avoid lots of similar bits in other functions.
This saves a bunch of text space. A nice side-effect is that
compile_extend is now no longer called with data == NULL, so we
can remove that test.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 6e710075e7386c6179ffc167f612f55036bd4220
      https://github.com/keith-packard/snek/commit/6e710075e7386c6179ffc167f612f55036bd4220
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-28 (Thu, 28 Nov 2019)

  Changed paths:
    M snek-code.c
    M snek.h

  Log Message:
  -----------
  Change snek_code_add_forward and snek_code_add_slice to static inline.

This saves space as they're both short and aren't used enough to
benefit from sharing.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: da70ccf390ba0b70e4fdabf42dd047af7f131d70
      https://github.com/keith-packard/snek/commit/da70ccf390ba0b70e4fdabf42dd047af7f131d70
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-29 (Fri, 29 Nov 2019)

  Changed paths:
    M snek-code.c

  Log Message:
  -----------
  Add comments to snek-code.c

Try to describe how the virtual machine works in comments.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: f48b9806f14f9e7a002d91c08ae767fd877f6e23
      https://github.com/keith-packard/snek/commit/f48b9806f14f9e7a002d91c08ae767fd877f6e23
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-29 (Fri, 29 Nov 2019)

  Changed paths:
    M snek-math.c

  Log Message:
  -----------
  Cast M_PI to float when doing computations with it

There doesn't appear to be a float version of M_PI, so
cast when using it in computations to avoid pulling in
double math code just for this.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 76c3b3271b47fa0527ed14a347dc36c2705407d8
      https://github.com/keith-packard/snek/commit/76c3b3271b47fa0527ed14a347dc36c2705407d8
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-29 (Fri, 29 Nov 2019)

  Changed paths:
    M chips/avr/ao-snek-avr.c
    M chips/qemu/snek-qemu.c
    M chips/samd21/snek-altos.c
    M ports/duemilanove/snek-duemilanove.c
    M ports/mega/snek-mega.c

  Log Message:
  -----------
  Avoid using uint64_t -> float conversion in random.randrange

GCC's uint64_t to float conversion uses doubles, and pulls in a pile
of double code in soft float mode. Cast the value to a soffset_t, which
covers the whole potential range of values.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: a28758b966c8004a112079fed733fde5639b4228
      https://github.com/keith-packard/snek/commit/a28758b966c8004a112079fed733fde5639b4228
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-29 (Fri, 29 Nov 2019)

  Changed paths:
    M chips/qemu/snek-qemu.defs
    M chips/samd21/snek-samd21.defs
    M snek.defs

  Log Message:
  -----------
  Clean up compiler warning flag usage

Stop duplicating compiler warning flags in chips/samd21 and chips/qemu. Switch
to -Warray-bounds=2, add -Wcast-align.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 175fba577bad7b337d2b7e0d93ff29aea618131d
      https://github.com/keith-packard/snek/commit/175fba577bad7b337d2b7e0d93ff29aea618131d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-11-30 (Sat, 30 Nov 2019)

  Changed paths:
    M test/Makefile

  Log Message:
  -----------
  Disable testing on ARM until the container used by github is updated

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: f596ed830f35fed313426bb341fab0b31aa99263
      https://github.com/keith-packard/snek/commit/f596ed830f35fed313426bb341fab0b31aa99263
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-01 (Sun, 01 Dec 2019)

  Changed paths:
    M snek-func.c

  Log Message:
  -----------
  Share common formal assignment code in snek_func_push

Most of the code for assigning formals is the same for named and
positional actuals. Create a single loop over the actuals and split
out the piece which figures out the name, either from the named
actual, or from the list of formals by position.

Also, add a pile of comments to this file.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: e8e1f331567612656a6e77e94ebea966347a36fa
      https://github.com/keith-packard/snek/commit/e8e1f331567612656a6e77e94ebea966347a36fa
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-01 (Sun, 01 Dec 2019)

  Changed paths:
    M chips/qemu/snek-qemu.defs
    M chips/samd21/snek-samd21.defs
    M snek-print.c

  Log Message:
  -----------
  Use PICOLIBC_FLOAT_PRINT_SCANF to avoid passing double to printf

Picolibc has a kludge which lets applications pass 'float' values to
printf without casting to double. Take advantage of that to avoid
loading up all of the double soft float code in qemu and samd21 ports.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: a67570331c3dbcd58e605e1f0c85149c76f49487
      https://github.com/keith-packard/snek/commit/a67570331c3dbcd58e605e1f0c85149c76f49487
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-02 (Mon, 02 Dec 2019)

  Changed paths:
    M test/Makefile
    A test/interpolate-list.py

  Log Message:
  -----------
  test: Add test for doing string interpolation of growing list value

String interpolation of lists allocates a lot of bits of memory and
requires care to track possible location changes across collect calls
in many places. Test this by doing string interpolation of a sequence
of lists.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: ef617b7d6c8b2bb3fac953cd4faa8aafcc0dc251
      https://github.com/keith-packard/snek/commit/ef617b7d6c8b2bb3fac953cd4faa8aafcc0dc251
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-02 (Mon, 02 Dec 2019)

  Changed paths:
    M snek-print.c

  Log Message:
  -----------
  save/restore 'list' value during string interpolation

Each put_c or snek_poly_format call does allocation and may end up
performing a collect, which will move the 'list' value
around. Save/restore the list value across sequences of those
calls. Pull the 'size' value out of the list instead of fetching each
time, while *not* pulling the data value out as that only gets used in
one place and would need re-fetching anyways.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 00b43fbdbc3aa48dd2c4c0a02538b9bd6cc8ef61
      https://github.com/keith-packard/snek/commit/00b43fbdbc3aa48dd2c4c0a02538b9bd6cc8ef61
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-02 (Mon, 02 Dec 2019)

  Changed paths:
    M test/Makefile

  Log Message:
  -----------
  Re-enable ARM testing now that the docker image on github is ready

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 96ba3ed3ecc16e26cc74db162bdbe9f260c26a22
      https://github.com/keith-packard/snek/commit/96ba3ed3ecc16e26cc74db162bdbe9f260c26a22
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-02 (Mon, 02 Dec 2019)

  Changed paths:
    M ports/qemu-arm/snek-arm.in
    M ports/qemu-riscv/snek-riscv.in

  Log Message:
  -----------
  ports/qemu-arm,ports/qemu-riscv: Disable qemu monitor

This eliminates some output noise when running on qemu that doesn't
have semihosting read support.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 875d901b3547757f0d196249c0fc8436a5586216
      https://github.com/keith-packard/snek/commit/875d901b3547757f0d196249c0fc8436a5586216
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-03 (Tue, 03 Dec 2019)

  Changed paths:
    M snek-code.c

  Log Message:
  -----------
  Move declarations around in snek-code.c

This moves all of the debug code to the bottom of the file and adds
comments about what the global variables do. No actual code changes.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: d1418bad68a9142c797c3f4528287bc464dd79c9
      https://github.com/keith-packard/snek/commit/d1418bad68a9142c797c3f4528287bc464dd79c9
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-03 (Tue, 03 Dec 2019)

  Changed paths:
    M snek-code.c
    M snek-error.c
    A snek-exec.c
    M snek-gram.ll
    M snek-poly.c
    M snek.defs
    M snek.h

  Log Message:
  -----------
  Split execution out of snek-code.c to snek-exec.c

Makes these two files more managable, by separating compilation
from execution.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 6433dfd954a557fdb4a45afe872da92dd8da6f34
      https://github.com/keith-packard/snek/commit/6433dfd954a557fdb4a45afe872da92dd8da6f34
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-04 (Wed, 04 Dec 2019)

  Changed paths:
    A ports/esp32/.gitignore
    A ports/esp32/CMakeLists.txt
    A ports/esp32/Makefile
    A ports/esp32/esp32-idf
    A ports/esp32/loadable_elf_example_test.py
    A ports/esp32/main/.gitignore
    A ports/esp32/main/Makefile
    A ports/esp32/main/snek-esp32.builtin
    A ports/esp32/main/snek-esp32.h
    A ports/esp32/main/snek-main.c
    A ports/esp32/sdkconfig.ci

  Log Message:
  -----------
  ports/esp32: Add basic port for ESP32 devices

This gets the snek interpreter running with console input and
output.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: f022a1967de130406d5b267cde34cec88e93fe6f
      https://github.com/keith-packard/snek/commit/f022a1967de130406d5b267cde34cec88e93fe6f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-05 (Thu, 05 Dec 2019)

  Changed paths:
    A ports/esp32/README.md
    M ports/esp32/main/Makefile
    M ports/esp32/main/snek-esp32.builtin
    A ports/esp32/main/snek-esp32.c

  Log Message:
  -----------
  ports/esp32: Add time, random and reset builtins

Hook up a few more builtins to show how to use underlying
ESP IDF apis.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 5e3baa3eb6959cf2650d11db3403463acd1e0adc
      https://github.com/keith-packard/snek/commit/5e3baa3eb6959cf2650d11db3403463acd1e0adc
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-05 (Thu, 05 Dec 2019)

  Changed paths:
    M snek.defs

  Log Message:
  -----------
  Allow per-port additional CFLAGS

Allow each port to define SNEK_LOCAL_CFLAGS to be added
to the global SNEK_BASE_CFLAGS.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: beb56038694dd876802c28c2b5676b554f676cc4
      https://github.com/keith-packard/snek/commit/beb56038694dd876802c28c2b5676b554f676cc4
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M ao/make-product.py

  Log Message:
  -----------
  Fix ao-make-product to handle non-ascii characters

The code for characters outside ' ' .. '~' was adding a spurious
comma.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 139efe514f23a75cdb214e02aeee9ac12630a3f1
      https://github.com/keith-packard/snek/commit/139efe514f23a75cdb214e02aeee9ac12630a3f1
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M doc/snek.adoc
    A ports/µduino/.gitignore
    A ports/µduino/Makefile
    A ports/µduino/ao-pins.h
    A ports/µduino/snek-µduino-install.1
    A ports/µduino/snek-µduino-install.in
    A ports/µduino/snek-µduino.builtin
    M snek-install.defs

  Log Message:
  -----------
  Add µduino port

This is essentially a clone of the itsybitsy5v code with the name
changed and the SPI pins disabled as they aren't available on this
device.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: d0ea5aef50c117d171ee1ad53358d7c92dc32961
      https://github.com/keith-packard/snek/commit/d0ea5aef50c117d171ee1ad53358d7c92dc32961
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Add links to mu in README.md

mu is a more sophisticated IDE than snekde, but also targets new
Python developers. The snek port is still pending review and
integration.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 8eafac87e7b64b036fdd9a3116bc1eea10653767
      https://github.com/keith-packard/snek/commit/8eafac87e7b64b036fdd9a3116bc1eea10653767
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Update current projects list in README.md

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 7c0ef5f947e8f08c618a13a57b8e2718ebd327c2
      https://github.com/keith-packard/snek/commit/7c0ef5f947e8f08c618a13a57b8e2718ebd327c2
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M ports/posix/Makefile

  Log Message:
  -----------
  Allow Posix-specific CFLAGS to be set in the environment

This allows the Debian build to pass along the necessary
compiler flags for full harderning.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 7ef570e577643a729a79bb09de33f96fd5be8fa8
      https://github.com/keith-packard/snek/commit/7ef570e577643a729a79bb09de33f96fd5be8fa8
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M doc/snek.adoc
    M ports/µduino/Makefile
    A ports/µduino/snek-uduino-install.1
    A ports/µduino/snek-uduino-install.in
    R ports/µduino/snek-µduino-install.1
    R ports/µduino/snek-µduino-install.in

  Log Message:
  -----------
  Rename snek-µduino-install to snek-uduino-install

Some file systems may not support UTF-8 filenames (still).

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 7dba7045c76637c25759c3f4e2bf0a5dc9c69818
      https://github.com/keith-packard/snek/commit/7dba7045c76637c25759c3f4e2bf0a5dc9c69818
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M snek.defs

  Log Message:
  -----------
  Version 1.3

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: ef161c60e5d2414ea4a348c9dd6e8664d4fde286
      https://github.com/keith-packard/snek/commit/ef161c60e5d2414ea4a348c9dd6e8664d4fde286
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    A .github/workflows/snek.yml
    A Dockerfile
    M Makefile
    M README.md
    M ao/make-product.py
    M chips/atmega/snek-atmega.defs
    M chips/avr/ao-snek-avr.c
    M chips/avr/snek-avr.defs
    R chips/avr/strtod.c
    M chips/qemu/snek-qemu.builtin
    M chips/qemu/snek-qemu.c
    M chips/qemu/snek-qemu.defs
    M chips/qemu/snek-qemu.h
    M chips/samd21/ao-interrupt.c
    M chips/samd21/snek-altos.c
    M chips/samd21/snek-samd21.defs
    M doc/Makefile
    M doc/snek.adoc
    M examples/Makefile
    M hosts/linux/Makefile
    M hosts/windows/Makefile
    M ports/crickit/Makefile
    M ports/duemilanove/snek-duemilanove.c
    A ports/esp32/.gitignore
    A ports/esp32/CMakeLists.txt
    A ports/esp32/Makefile
    A ports/esp32/README.md
    A ports/esp32/esp32-idf
    A ports/esp32/loadable_elf_example_test.py
    A ports/esp32/main/.gitignore
    A ports/esp32/main/Makefile
    A ports/esp32/main/snek-esp32.builtin
    A ports/esp32/main/snek-esp32.c
    A ports/esp32/main/snek-esp32.h
    A ports/esp32/main/snek-main.c
    A ports/esp32/sdkconfig.ci
    M ports/feather/Makefile
    M ports/itsybitsym0/Makefile
    M ports/mega/Makefile
    M ports/mega/snek-mega.c
    M ports/metrom0/Makefile
    M ports/nano33iot/Makefile
    M ports/playground/Makefile
    M ports/posix/Makefile
    M ports/qemu-arm/.gitignore
    M ports/qemu-arm/Makefile
    R ports/qemu-arm/run-arm.in
    A ports/qemu-arm/snek-arm.in
    M ports/qemu-riscv/.gitignore
    M ports/qemu-riscv/Makefile
    R ports/qemu-riscv/run-riscv.in
    A ports/qemu-riscv/snek-riscv.in
    M ports/snekboard/Makefile
    M ports/snekboard/ao-pins.h
    A ports/µduino/.gitignore
    A ports/µduino/Makefile
    A ports/µduino/ao-pins.h
    A ports/µduino/snek-uduino-install.1
    A ports/µduino/snek-uduino-install.in
    A ports/µduino/snek-µduino.builtin
    M snek-code.c
    M snek-error.c
    A snek-exec.c
    M snek-func.c
    M snek-gram.ll
    M snek-install.defs
    M snek-math.c
    M snek-parse.c
    M snek-poly.c
    M snek-print.c
    A snek-strtof.c
    M snek.defs
    M snek.h
    M test/Makefile
    A test/interpolate-list.py
    M test/slice.py

  Log Message:
  -----------
  Merge branch 'master' into debian


  Commit: cf61028fbdb886ef140b1b58b87a22c156d35b8f
      https://github.com/keith-packard/snek/commit/cf61028fbdb886ef140b1b58b87a22c156d35b8f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M debian/rules

  Log Message:
  -----------
  debian: Pass dpkg build flags using CFLAGS_POSIX

This avoids including the dpkg hardening flags in the embedded builds
(which can include -fstack-protector that requires another library).

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 4670559321abe664fcf575eab4c8c1dce1d1823a
      https://github.com/keith-packard/snek/commit/4670559321abe664fcf575eab4c8c1dce1d1823a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M debian/control

  Log Message:
  -----------
  debian: Build depend on qemu-system-arm

This is required to test the ARM embedded code.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 09d140df36dd0da2f256b26cab3ba24126644725
      https://github.com/keith-packard/snek/commit/09d140df36dd0da2f256b26cab3ba24126644725
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    R debian/compat
    M debian/control
    M debian/copyright

  Log Message:
  -----------
  debian: Update for current standards

Add explicit Rules-Requires-Root: no
Replace debian/compatwith debhelper-compat (=12) build dependency
Remove copyright paragraph for chips/avr/strtod.c which we no longer ship

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 138cd136473dc06af41d7f793a408804123fc01c
      https://github.com/keith-packard/snek/commit/138cd136473dc06af41d7f793a408804123fc01c
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-12-15 (Sun, 15 Dec 2019)

  Changed paths:
    M debian/changelog

  Log Message:
  -----------
  debian: Version 1.3-1

Signed-off-by: Keith Packard <keithp at keithp.com>


Compare: https://github.com/keith-packard/snek/compare/97415f7f154c...138cd136473d


More information about the Snek mailing list