mirror of https://github.com/YosysHQ/icestorm.git
icetime was reading the asc configuration file using a 128-byte line buffer -- which is usually fine, but can cause it to truncate the names of nets given in .sym lines if those names are very, very long. The way fgets was being used meant this went undetected. Long net names like this can arise in deeply hierarchical designs, particularly if there's a code generator involved. This change: 1. Increases the buffer size to 64kiB. 2. Adds a truncation check that causes icetime to fail. A more robust solution would manage the line buffer on the heap, since the symbol gets copied into a std::string anyway, but this is a workaround for now. |
||
|---|---|---|
| docs | ||
| examples | ||
| icebox | ||
| icebram | ||
| icecompr | ||
| icefuzz | ||
| icemulti | ||
| icepack | ||
| icepll | ||
| iceprog | ||
| icetime | ||
| .gitignore | ||
| CodeOfConduct | ||
| Makefile | ||
| README | ||
| config.mk | ||
README
Project IceStorm aims at documenting the bitstream format of Lattice iCE40 FPGAs and providing simple tools for analyzing and creating bitstream files. See http://www.clifford.at/icestorm/ for more information. Most of Project IceStorm is licensed under the ISC license: # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.