cxxfilt 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile.lock +2 -2
- data/README.md +32 -3
- data/cxxfilt.gemspec +1 -1
- data/ext/cxxfilt/cp-demangle.c +6772 -0
- data/ext/cxxfilt/cp-demangle.h +194 -0
- data/ext/cxxfilt/cp-demint.c +237 -0
- data/ext/cxxfilt/cplus-dem.c +5032 -0
- data/ext/cxxfilt/cxxfilt.c +2 -1
- data/ext/cxxfilt/d-demangle.c +1646 -0
- data/ext/cxxfilt/demangle.h +723 -0
- data/ext/cxxfilt/environ.h +35 -0
- data/ext/cxxfilt/extconf.rb +0 -1
- data/ext/cxxfilt/libiberty.h +755 -0
- data/ext/cxxfilt/rust-demangle.c +348 -0
- data/ext/cxxfilt/safe-ctype.c +254 -0
- data/ext/cxxfilt/safe-ctype.h +150 -0
- data/ext/cxxfilt/xexit.c +52 -0
- data/ext/cxxfilt/xmalloc.c +184 -0
- data/ext/cxxfilt/xmemdup.c +41 -0
- data/ext/cxxfilt/xstrdup.c +36 -0
- data/lib/cxxfilt/cxxfilt.rb +6 -6
- data/lib/cxxfilt/version.rb +1 -1
- metadata +19 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f19dbd01b24cd197ff891ef251f50d3a25f5ea1c7ada6bef1ef3fcef94fa76ca
|
4
|
+
data.tar.gz: 6cbc1403ffa27390bae46aaa2587ad5c131c43213cc20d473e70b1ccb6548b70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f44f305d1dfdf642b3ba2976baed68fc96373e44a653095b0dcf62fba72a03adef58da88ae359d4542585bedfdd07c4f40e9ff5885b416af3dab1bca30d70fb8
|
7
|
+
data.tar.gz: ce79956686c48ca386aee0905598fa239498844a3c0ffd2aa0065f8f805ca64185b61b8f58bc3ee34999414bf97bf41467337b2f7bc3f9cf9839b075a28cb450
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# CXXFilt
|
2
2
|
|
3
|
-
|
3
|
+
This is a Ruby gem for demangling C++ symbols. It works the same way as the `c++filt` program from GNU binutils does. It even links with `libiberty` and uses the same demangling routines as `c++filt`.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -20,7 +20,36 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
|
23
|
+
Get a list of the available demanglers:
|
24
|
+
|
25
|
+
```
|
26
|
+
2.4.1 :001 > require "cxxfilt"
|
27
|
+
=> true
|
28
|
+
2.4.1 :002 > CXXFilt::demanglers
|
29
|
+
=> [
|
30
|
+
#<CXXFilt::Demangler:0x00000000e3e720 @name="none", @doc="Demangling disabled">,
|
31
|
+
#<CXXFilt::Demangler:0x00000000e3e658 @name="auto", @doc="Automatic selection based on executable">,
|
32
|
+
#<CXXFilt::Demangler:0x00000000e3e5e0 @name="gnu", @doc="GNU (g++) style demangling">,
|
33
|
+
#<CXXFilt::Demangler:0x00000000e3e568 @name="lucid", @doc="Lucid (lcc) style demangling">,
|
34
|
+
#<CXXFilt::Demangler:0x00000000e3e4c8 @name="arm", @doc="ARM style demangling">,
|
35
|
+
#<CXXFilt::Demangler:0x00000000e3e450 @name="hp", @doc="HP (aCC) style demangling">,
|
36
|
+
#<CXXFilt::Demangler:0x00000000e3e3d8 @name="edg", @doc="EDG style demangling">,
|
37
|
+
#<CXXFilt::Demangler:0x00000000e3e360 @name="gnu-v3", @doc="GNU (g++) V3 ABI-style demangling">,
|
38
|
+
#<CXXFilt::Demangler:0x00000000e3e270 @name="java", @doc="Java style demangling">,
|
39
|
+
#<CXXFilt::Demangler:0x00000000e3e180 @name="gnat", @doc="GNAT style demangling">,
|
40
|
+
#<CXXFilt::Demangler:0x00000000e3e0e0 @name="dlang", @doc="DLANG style demangling">]
|
41
|
+
```
|
42
|
+
|
43
|
+
Demangle a symbol with the `auto` demangler:
|
44
|
+
|
45
|
+
```
|
46
|
+
2.4.1 :003 > CXXFilt::demangle("_Z1hic")
|
47
|
+
=> "h(int, char)"
|
48
|
+
2.4.1 :004 > CXXFilt::auto.demangle("_Z1hic")
|
49
|
+
=> "h(int, char)"
|
50
|
+
2.4.1 :005 > CXXFilt::demanglers[1].demangle("_Z1hic")
|
51
|
+
=> "h(int, char)"
|
52
|
+
```
|
24
53
|
|
25
54
|
## Development
|
26
55
|
|
@@ -30,4 +59,4 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
30
59
|
|
31
60
|
## Contributing
|
32
61
|
|
33
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/misson20000/cxxfilt.
|
62
|
+
Bug reports and pull requests are welcome on GitHub at [https://github.com/misson20000/cxxfilt-rb].
|
data/cxxfilt.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = CXXFilt::VERSION
|
9
9
|
spec.authors = ["misson20000"]
|
10
10
|
spec.email = ["xenotoad@xenotoad.net"]
|
11
|
-
spec.licenses = ["
|
11
|
+
spec.licenses = ["LGPL-2.1-or-later"]
|
12
12
|
|
13
13
|
spec.summary = "Demangle C++ symbols"
|
14
14
|
spec.homepage = "https://github.com/misson20000/cxxfilt-rb"
|