Commit Graph

  • 9724ed5506 Added cc65_seginfo_byname. uz 2011-08-17 15:26:40 +00:00
  • fa6b2e40fd Added cc65_get_scopelist. Added a few statistics field to the DbgInfo structure. uz 2011-08-17 15:18:22 +00:00
  • 771695577d Replaced the old dbgtest program by a debug info shell. uz 2011-08-16 22:37:01 +00:00
  • 7d7667f782 Handle imports correctly. uz 2011-08-16 14:25:18 +00:00
  • 3996725f44 Write imports out to the debug info file. Add the id of the corresponding export. uz 2011-08-16 13:58:59 +00:00
  • b7c4a4fe01 Write imports out as debug symbols. uz 2011-08-16 13:39:00 +00:00
  • cc1326c6c2 Dump export and import ids. uz 2011-08-16 12:53:48 +00:00
  • aa1a103154 Track export ids of debug symbols and write the to the object file. uz 2011-08-16 12:52:56 +00:00
  • 63c53499be If a debug symbol is an import, write out the import id. uz 2011-08-16 12:33:19 +00:00
  • 1917591b94 Renamed variables for better readability. uz 2011-08-16 12:08:43 +00:00
  • 11be5d6261 Handle the new symbol flags correctly. Changed - among other things - the data types of members in the management structures. uz 2011-08-16 11:50:27 +00:00
  • 7323035a89 Do also write the im-/export flags to the symbol flags in an object file. uz 2011-08-16 11:37:19 +00:00
  • 2d23dffe06 Added flags for im- and export. uz 2011-08-16 11:34:46 +00:00
  • 3e653f6266 Many changes. Map spans instead of line infos into the address space. Quite some API changes. The test program is almost useless and has to be replaced. uz 2011-08-15 21:46:39 +00:00
  • eadbb7dcb0 Remove CollFirst in favour of CollAt. uz 2011-08-15 17:57:26 +00:00
  • 8d8c676be2 Add cc65_idlist. uz 2011-08-15 17:42:43 +00:00
  • 51e918cdfe Track the main scope of modules. uz 2011-08-15 17:36:38 +00:00
  • 34d393a76f Fixed problems with the range check on 64 bit machines. uz 2011-08-15 17:25:49 +00:00
  • aaa19a569d The line number is now of type unsigned. uz 2011-08-15 17:25:23 +00:00
  • b097b49a4a Fixed even more problems with the range check. uz 2011-08-15 17:23:44 +00:00
  • cd50385b72 Fixed a problem with the range check. uz 2011-08-15 17:19:05 +00:00
  • d02c1cc417 Line number is now an unsigned uz 2011-08-15 16:09:34 +00:00
  • d758b39dfc Line number is now an unsigned. uz 2011-08-15 16:08:50 +00:00
  • da307b9a13 Change the type of the line number from unsigned long to unsigned since the tools won't run on a 16 bit platform anyway. And if so, line numbers limited to 65535 are probably the least problem. uz 2011-08-15 16:08:15 +00:00
  • 7ed3fdc803 Fixed range errors when negative numbers where used as bytes. This wasn't flagged by older ca65 versions because of errors in the range checks. uz 2011-08-15 15:23:31 +00:00
  • 6e32190cae A few measures to create slightly smaller object files. uz 2011-08-14 20:06:14 +00:00
  • e7fe36399b Grow the line info collection as needed before actually adding items. This reduces memory consumption. uz 2011-08-14 20:05:20 +00:00
  • 17e2276f38 Adapted to new line infos and spans as written to the object file by the assembler. uz 2011-08-14 19:24:03 +00:00
  • b8549f0af8 Complete redesign of line info generation. Uses spans instead of a fragment list as before. uz 2011-08-14 19:23:16 +00:00
  • e67c802193 Make the parameter for HT_GetKey const. uz 2011-08-14 19:21:44 +00:00
  • 27964254dc Adjust to recent changes in the hash modules. uz 2011-08-12 16:22:28 +00:00
  • 6b79f5bbb1 Do also remove the Owner pointer from the HashNode making it ~50% of its original size. uz 2011-08-12 16:18:56 +00:00
  • f571ec44ae Require that the hash node must be the first element of the structure to be managed in a hash table. This gives smaller code and a ~25% size reduction of the HashNode structure which might become an advantage if many elements are hashed. uz 2011-08-12 16:13:10 +00:00
  • 762d4d9ea2 Grow the Span collection before adding spans for the segments. This means that in most cases the colection will have the optimal size. uz 2011-08-12 16:10:34 +00:00
  • b8d43cee42 Tracked rename of hashstr -> hashfunc. uz 2011-08-12 15:36:53 +00:00
  • b8e68bed95 Renamed hashstr to hashfunc and added an integer hash function. uz 2011-08-12 15:32:08 +00:00
  • 434c818d20 Fixed an error in the INFO line. uz 2011-08-11 21:58:12 +00:00
  • 54ffc25a53 Removed an unused function. uz 2011-08-11 21:23:37 +00:00
  • b4967d359f Output spans to the debug info file. uz 2011-08-11 17:11:45 +00:00
  • 3e6f9a212b Accept the number of spans in the INFO line. uz 2011-08-11 17:04:29 +00:00
  • 9ecccaa69d More work on the implementation of spans. uz 2011-08-11 16:52:52 +00:00
  • efc59ff27b Implement some span API functions. uz 2011-08-10 22:17:41 +00:00
  • d8feaf2e54 Started to add spans. uz 2011-08-10 21:17:45 +00:00
  • ebfa369319 Postprocess module infos. Add new index for modules sorted by name. uz 2011-08-10 20:44:20 +00:00
  • 060b297a78 Renamed DoneCollection -> CollDone and InitCollection -> CollInit. uz 2011-08-10 14:20:45 +00:00
  • 9d2538f12b Postprocess file infos. New function cc65_sourceinfo_bymodule. uz 2011-08-10 14:08:18 +00:00
  • d9a35e9652 Prepare the collection for storage of ids. uz 2011-08-10 13:32:31 +00:00
  • 07f795fa78 Postprocess scope infos. New function cc65_scope_bymodule. uz 2011-08-10 10:36:37 +00:00
  • 3e42ba1a87 Bump the version number. Fix line number counting. Resolve ids to pointers in several places. uz 2011-08-10 10:13:31 +00:00
  • 604f74c5c2 Added processing of modules, libraries, etc. Many other changes for new debug info format. uz 2011-08-09 19:11:38 +00:00
  • 36c99befcc Output ids for line infos to the debug info file. uz 2011-08-09 18:48:02 +00:00
  • a3ae02b5b7 Use symbolic names when writing the scope type to the debug info file. uz 2011-08-08 21:07:45 +00:00
  • 067f6d2e27 Much more work reading the new information. uz 2011-08-08 21:07:13 +00:00
  • e9be9e3d63 Use "lib" instead of "library". uz 2011-08-08 17:18:52 +00:00
  • 07cd427110 Output information about the item counts in the debug info file. uz 2011-08-08 17:15:18 +00:00
  • 57e39e0e04 Preparations for the new format. uz 2011-08-07 21:08:45 +00:00
  • 472c21d7ff Some improvements for spans. uz 2011-08-07 20:01:40 +00:00
  • bf8f23d5f4 Handle scopes with a label correctly. Add the label to the debug info file. uz 2011-08-07 18:48:08 +00:00
  • 8f969056e1 Handle scopes with a label correctly. uz 2011-08-07 18:47:38 +00:00
  • 49b66ebd2b New flag bit that tells if a scope has a label. uz 2011-08-07 18:47:21 +00:00
  • af8fbf8d62 Fox scopes that have a label (= .PROC), write the label to the debug information. uz 2011-08-07 18:46:56 +00:00
  • c19491035b Bump the version number of the generated debug file. uz 2011-08-07 17:59:33 +00:00
  • 17e9b81045 Debug info: Make file info ids continous. Output modules that use a file. uz 2011-08-07 13:15:24 +00:00
  • af3a5e6e15 Output library information to the debug file. uz 2011-08-07 11:33:28 +00:00
  • b418fdf985 Removed the Next pointer which is no longer necessary. uz 2011-08-06 12:32:10 +00:00
  • 6172979c1c Manage the segments in a collection. uz 2011-08-05 13:59:26 +00:00
  • 9f02a29dfa Use a collection to manage the segments. uz 2011-08-05 13:45:33 +00:00
  • a17d11cba8 Central management of the debug info base ids. uz 2011-08-05 13:09:13 +00:00
  • a87d8ec233 More aliases for attribute names. uz 2011-08-05 12:34:08 +00:00
  • f912ea4010 Introduce some shorter aliases for attribute names in the debug info file. uz 2011-08-05 12:33:21 +00:00
  • 317676d868 Output module info. uz 2011-08-05 12:09:11 +00:00
  • 3593eb2869 More work on scope suport. uz 2011-08-04 18:47:01 +00:00
  • d1efe1af90 Adjust code to C99 regarding the main function: Not returning anything in a main function with an int return type is identical to returning zero. uz 2011-08-04 17:18:06 +00:00
  • 2f75733e43 Rearrange debug info output. Add scopes to the debug info. uz 2011-08-04 15:58:54 +00:00
  • 871873b1ac Read Sections before Scopes, because the later will reference the former. uz 2011-08-04 13:20:45 +00:00
  • 04a0dafe25 Use the Span structure also for scopes. uz 2011-08-04 13:14:26 +00:00
  • e9d9ba92b0 The spans do now contain the size of a span, no longer the end offset. uz 2011-08-04 12:51:44 +00:00
  • 31d2fff060 Rename SegRange to span. Write out the size instead of the end offset so we can save some bytes in the object file. uz 2011-08-04 12:49:59 +00:00
  • f04d65a662 Generalized the CodeRange structure used for line infos and renamed it to Span. uz 2011-08-04 12:31:37 +00:00
  • f0eaf6b1b4 Fixed an off-by-one error. uz 2011-08-03 19:37:53 +00:00
  • 3cf41ed2e7 Fix a problem reported by Christopher Pow: cc65_lineinfo_byname doesn't handle multiple line infos for one line correctly. It did only return one randomly chosen line info instead of all. uz 2011-08-03 18:39:08 +00:00
  • ca0877adb6 Fixed an error in the special purpose allocator in expr.c. uz 2011-08-02 16:46:47 +00:00
  • 1df46aed11 Fixed a memory leak. uz 2011-08-02 16:16:37 +00:00
  • 7d69135896 Fixed another memory leak. uz 2011-08-02 15:00:33 +00:00
  • c25694f54d Fixed another memory leak. uz 2011-08-02 14:49:33 +00:00
  • 417a57fabd New tgi_settextdir() function. uz 2011-08-01 21:00:51 +00:00
  • 03b147e71e Fixed a bug (Greg King). uz 2011-08-01 20:59:33 +00:00
  • 1f95085ffe Read scopes from the object files. uz 2011-08-01 20:54:42 +00:00
  • 67692e51f1 Fixed a rather large memory leak. uz 2011-08-01 20:49:59 +00:00
  • edca940a86 Declaration of tgi_settextdir() added. uz 2011-07-31 22:17:21 +00:00
  • 2b32c14661 Preparations for adding scopes. uz 2011-07-31 21:32:46 +00:00
  • 0dbe4454a5 There is no longer a scope type SCOPE_PROC. uz 2011-07-31 17:11:10 +00:00
  • 97cb025964 Remove SCOPE_PROC. It's a .SCOPE with an owner symbol. uz 2011-07-31 17:10:33 +00:00
  • 72a13e1a21 Write scopes in id order, so we don't need to write out the id itself. Add the size of the scope to the output file and a flag bit that tells us if the scope has a size. uz 2011-07-31 15:37:51 +00:00
  • 8ec6f66bf0 Output the scope type in readable format. uz 2011-07-31 14:01:27 +00:00
  • 4191eb7718 Move scope type definitions to common/ uz 2011-07-31 14:01:11 +00:00
  • dd3a841b1a Add the parent scope/symbol to the debug symbol attributes. uz 2011-07-31 13:28:54 +00:00
  • 7466b89ed1 Document new command line switches. uz 2011-07-31 12:27:44 +00:00
  • 4ad597ff39 Allow to dump scope information. uz 2011-07-31 12:25:44 +00:00
  • 359e119a6b Write scope information to the object file. uz 2011-07-31 12:25:02 +00:00