Comments (9)
When built with -g -fno-inline to get more accurate logs, it straight up segfaults.
==2694== Command: armips -root rspasm -sym getbitmap.sym getbitmap.s
==2694== Parent PID: 2064
==2694==
==2694==
==2694== Process terminating with default action of signal 11 (SIGSEGV)
==2694== Bad permissions for mapped region at address 0x72FB48
==2694== at 0x72FB48: ??? (in /tiedostot/mv/c/armips/armips)
==2694== by 0x412835: tinyformat::detail::formatImpl(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, wchar_t const*, tinyformat::detail::FormatArg const*, int) (tinyformat.h:815)
==2694== by 0x4134C4: _ZN10tinyformat6formatIJmEEENSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEPKwDpRKT_ (in /tiedostot/mv/c/armips/armips)
==2694== by 0x47D537: _ZN11SymbolTable18getUniqueLabelNameB5cxx11Eb (SymbolTable.cpp:172)
==2694== by 0x423D45: _Z15preprocessMacroB5cxx11PKwR17MipsImmediateData (MipsMacros.cpp:58)
==2694== by 0x4245B9: generateMipsMacroLoadStore(Parser&, MipsRegisterData&, MipsImmediateData&, int) (MipsMacros.cpp:215)
==2694== by 0x42851E: MipsParser::parseMacro(Parser&) (MipsParser.cpp:1578)
==2694== by 0x41F45A: CMipsArchitecture::parseOpcode(Parser&) (Mips.cpp:29)
==2694== by 0x48AF4F: Parser::parseCommand() (Parser.cpp:728)
==2694== by 0x48A192: Parser::parseCommandSequence(wchar_t, std::initializer_list<wchar_t const*>) (Parser.cpp:144)
==2694== by 0x481217: parseDirectiveArea(Parser&, int) (DirectivesParser.cpp:459)
==2694== by 0x48988E: Parser::parseDirective(std::unordered_multimap<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, DirectiveEntry const, std::hash<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::equal_to<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::allocator<std::pair<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const, DirectiveEntry const> > > const&) (Parser.cpp:242)
from armips.
Can you provide an example file that produces this problem?
from armips.
You mean it doesn't blow up for you? That many locations should effect other targets than just rsp.
Sec, will grab a test file.
from armips.
Seeing if github upload works.
from armips.
Nope, doesn't work. Uploaded to https://anonymousfiles.io/m1Rl3kid/
from armips.
I've had no issues with it on Windows with VS 2017 using both debug and release configurations. On Ubuntu 20.04 with GCC 9 it also ran fine, though Valgrind showed some of the same uninitialized value warnings. ASan had no complaints though.
What are your build settings?
from armips.
gcc 10.2, -O3 -march=nocona -mtune=k8 -fomit-frame-pointer
from armips.
Okay, I could reproduce the crash with GCC 9 as well when using -O3 and -fno-inline (Clang 10 works). It seems to crash whenever tinyformat is used at all. Not sure what would cause it though...
from armips.
There seem to be newer tinyformat versions, but it appears the copy here is modified to be wchar. It could also be a bug in tinyformat, even the new versions, of course.
Just a note, asan catches a small fraction of the stuff valgrind does, I believe even their own docs say so. It's meant to be fast, not complete.
from armips.
Related Issues (20)
- A .repeat directive HOT 1
- Allow data address as load/store offset HOT 4
- Vector loads/stores element not checked for validity HOT 1
- No data range checks
- Enums
- Non-one-line-expanding macro in a delay slot should cause an error
- New validation of RSP vector instructions seems to incorrectly mark some cases as invalid HOT 11
- OT question but still related to your works
- Improve RSP immediate value range
- [feature request] get the hash for a binary file and check out the value
- .autoregion broken on latest version of armips. HOT 3
- cmp with negative immediate value off by 1 HOT 1
- missing ARM addressing modes for LDRH
- [feature request] Either inputname() or some way to .org to end of file HOT 3
- Automated builds return 404 error HOT 2
- Missing option to export symbols from armips HOT 1
- Build failure on Linux Xubuntu 22.04 LTS HOT 1
- Automated Armips Build links return 404 HOT 7
- ARM ldrsh parameter failure
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from armips.