Steve Nygard
f0edb6f080
Added quotes around args, otherwise they don't seem to be used.
2006-11-12 11:22:01 +00:00
Steve Nygard
e51911d7db
Added -t option to args for new class-dump.
2006-11-12 11:18:05 +00:00
Steve Nygard
2d334ec4e8
Added message if the file doesn't contain any Objective-C info.
2006-11-12 11:16:52 +00:00
Steve Nygard
f26f05bea1
Added option, -t (--suppress-header), to suppress the header from the
...
output, since it includes the version number which changes each release.
This will make the regression tests work a bit more easily in the future.
2006-11-12 10:57:13 +00:00
Steve Nygard
f3f7ddcdb9
Include a space after each comma separator when listing multiple types in
...
a template type. Adjusted test cases to match. Needed to modify my custom
scanning method to actually skip characters now.
2006-11-12 10:36:19 +00:00
Steve Nygard
abc8687626
Tweaking build script.
2006-10-14 05:48:43 +00:00
Steve Nygard
84f89e63f6
More tweaking, because unfortunately there are structures out there
...
with some member names, and others not named. This seems to work at
least as well as the previous release.
2006-10-14 05:40:10 +00:00
Steve Nygard
38ccc0f3d3
Updated copyrights.
2006-10-14 03:17:54 +00:00
Steve Nygard
4cc2b1f8d0
Updated version.
2006-10-14 03:10:35 +00:00
Steve Nygard
535c842285
Turned a comment into another test case.
2006-10-14 03:10:02 +00:00
Steve Nygard
006107d86e
Allow comment lines starting with // in the shud*in.txt files.
...
Added some comments. Removed obsolete test case.
2006-10-14 02:59:25 +00:00
Steve Nygard
b8ef41235f
Changed the object protocols from a string to an array, so we can add
...
a space after any commas.
2006-10-14 02:40:47 +00:00
Steve Nygard
02ff266ada
Cleaning up some unit tests.
2006-10-14 02:25:27 +00:00
Steve Nygard
fd02f10a0b
Added a test for empty quoted strings for the lexer, which
...
was covered later by a parser unit test.
2006-10-14 02:17:44 +00:00
Steve Nygard
a7aa67b1df
Renamed method. Even though it now starts with "test", it should
...
have the wrong signature to be picked up as a unit test by itself.
2006-10-14 02:11:56 +00:00
Steve Nygard
4b33bc6565
Made these unit tests a bit less arbitrary.
2006-10-14 02:08:23 +00:00
Steve Nygard
17ee79aad8
This now seems to correctly handle all cases of double quoted strings
...
after @ in structure definitions. The assumption is that either there
are member names for the entire structure, or no names at all. Had to
update unit test to conform to this assumption.
2006-10-13 13:40:07 +00:00
Steve Nygard
518d3fa82f
This includes a bunch of work to try to get the C++ template parsing code working
...
better. However, I've discovered a problem with my earlier change with quoted strings
and how I handle member names versus object types... Hmmm.
2006-10-13 11:37:42 +00:00
Steve Nygard
a16202812d
Changes to support "id <MyProtocol>" types that appear in Leopard. We now
...
have a quoted string token in the lexer (so we can easily peek past it for
another double quote, as happens in structures with member names).
Right now the adopted protocols is just a string, but we should check to see
if multiple protocols can occur, and if so split the string between commas
and use a list instead.
2006-10-12 05:42:07 +00:00
Steve Nygard
ab6270bbae
Added a couple more tests, as I try to understand how C++ templates should fit
...
into this, and how I should handle @"<MyProtocol>" types.
2006-10-12 02:22:12 +00:00
Steve Nygard
78083e76c3
Added expected output for this test case.
2006-10-12 02:17:23 +00:00
Steve Nygard
7f3e126430
Bumped version. Experimented with old bug with C++ types, but
...
the simple fix doesn't work. Added unit test for one of the failing
cases.
2006-10-10 01:32:56 +00:00
Steve Nygard
2839f51871
Don't need this under version control.
3.1
2005-08-16 06:53:49 +00:00
Steve Nygard
5550e478b5
Updated paths.
2005-08-16 06:53:19 +00:00
Steve Nygard
3121e6de2a
Added a script to build releases.
2005-08-14 01:07:37 +00:00
Steve Nygard
e46e5c88e8
Changed version string, to 3.1.
2005-08-14 00:34:00 +00:00
Steve Nygard
aabbb03058
Removed some NSLogs.
2005-08-14 00:28:39 +00:00
Steve Nygard
935803597d
Changed "fat file" to "universal binary" in the usage text, suggested
...
by Eric Albert (outofcheese.org).
Use NXGetArchInfoFromName() to get the cpu type from the --arch
argument. This is generally better, but using ppc750 is a little
confusing because it just matches on the cputype, ignoring the
subtype...
2005-08-13 23:33:15 +00:00
Steve Nygard
3aa2700e8d
Build the release version fat, and link against the 10.4 Universal SDK.
2005-08-13 23:16:35 +00:00
Steve Nygard
3dd90ecf64
Created a new project from scratch and added in the files again, so
...
that I get the default setup from Xcode 2.1. Bleck, I do this every
time the change Xcode...
2005-08-13 21:48:16 +00:00
Steve Nygard
d4f7e3eb3f
Updated copyrights again, reformatting the description into one line, and making sure all
...
the copyrights are the same.
2005-08-13 20:32:02 +00:00
Steve Nygard
c7aae04f11
Updated copyrights.
2005-08-13 20:20:58 +00:00
Steve Nygard
cab8bc8492
Use getopt_long() so that I can add a --arch option to choose a
...
specific architecture from a fat file.
2005-08-01 21:35:58 +00:00
Steve Nygard
db7b33fe3f
In +adjustUserSuppliedPath:, fixed a bug when the symlinks go outside of the original
...
file wrapper. For example, /System/Library/PrivateFrameworks/ICACameraPriv.framework/ICACameraPriv
currently does this.
2005-08-01 20:41:36 +00:00
Steve Nygard
36d6d09916
A heck of a lot of swapping of the Objective-C info so that we can
...
dump files that have a different byte order. Seems to work on the one
universal binary I've been testing against. It turns out that the SDKs
don't contain any code or Objective-C runtime info, so they can't be
used for testing.
On the upside, this means I don't need to add an option to search the
frameworks in the SDKs.
2005-07-28 23:27:45 +00:00
Steve Nygard
2594d75a53
Swap these structures in memory. They are alway stored in big-endian (ppc) format,
...
so the changes only affect intel. Not tested on intel yet.
2005-07-28 19:19:54 +00:00
Steve Nygard
cc9f00908d
Most of the Mach-O things handle the opposite byte ordering now. They do this by keeping a copy
...
of the structures instead of just a pointer to it, so that they can call the system provided
functions for swapping the values in those structures to the current endianess. Except part of
the symbol table, which is just experimental right now anyway.
CDFatFile and CDFatArch only have special cases on little-endian (intel). I should try writing
that code next, even though I can't test it on intel.
All of the Objective-C stuff needs to be converted to handle different byte ordering.
2005-07-28 19:05:58 +00:00
Steve Nygard
d4760858c1
Removed a bit of logging.
2005-07-27 23:36:36 +00:00
Steve Nygard
67b4f13cbc
This chooses architectures correctly now, and has better error
...
reporting in this area. That is, once the architecture of the main file is chosen,
all frameworks/libraries need to have that same architecture.
CDFatFile now checks the magic number to make sure it's correct.
Added a bit of experimental code for noting a mach-o file with different byte
ordering, and reporting the correct cpu type in this case.
2005-07-27 23:11:49 +00:00
Steve Nygard
31efc99e27
In CDMachOFile, map the file into memory at -init instead of in
...
-process, so that methods like -cputype can be used before -process is
called.
2005-07-27 18:42:39 +00:00
Steve Nygard
2852af6e7f
This is a first attempt at handling fat files, but it is not good
...
enough. We need to make sure we don't mix and match architectures
between frameworks, among other things.
2005-07-26 23:18:06 +00:00
Steve Nygard
0ad7fea383
Disabled some debug logging. These classes are incomplete.
2005-07-07 07:57:21 +00:00
Steve Nygard
c11e252bd1
And updated the copyright that class-dump spits out.
2005-07-03 07:25:37 +00:00
Steve Nygard
3530d61b65
And removed a comment. And the previous change also bumped the version.
2005-07-03 07:24:34 +00:00
Steve Nygard
c1622113e3
Raise and catch an exception if this isn't a Mach-O file, so at least
...
we don't seg fault.
2005-07-03 07:23:58 +00:00
Steve Nygard
513467af76
Upgraded to the new project version/extension from Xcode 2.1. Set
...
Deployment build to build fat. Build against the 10.4 Universal SDK
so we can build fat.
2005-07-03 07:11:46 +00:00
Steve Nygard
66c6a92d6a
Include unistd.h so we don't need to declare optind, optarg.
2004-08-30 00:10:23 +00:00
Steve Nygard
d17e365a6f
Start work on trying to understand the dynamic symbol table.
2004-07-08 21:37:38 +00:00
Steve Nygard
d712dab940
Renamed CDSymtabCommand to CDSymbolTable, which is both more verbose and succint.
2004-07-08 21:08:16 +00:00
Steve Nygard
8882f13793
Create CDSymbol instances for each symbol in the symbol table.
2004-07-08 20:49:15 +00:00