Any of the Cortex-M* series are also generally a good choice, for example the STM32* series. All of these are supported in mainline gcc, and have open source support libraries provided by the vendor or via libopencm3. Be a bit careful, as some vendors like to use proprietary licenses for their headers, but in most cases there is at least one open source alternative.
And of course the RISC-V HiFive1, though it's still very new and in sampling quantities.
And of course the RISC-V HiFive1, though it's still very new and in sampling quantities.