cxxfilt 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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"
|