I stumbled onto:
atoi("v10") == 10
The repository shows the assembler version of atoi is correct but my version of avr-libc incorrectly checks the string for 'v' instead of '\v' (vertical tab 0xb).
Sorry if this is a known problem but my searching did not reveal anything.