* Size optimization for objects @ 2013-06-28 19:49 Rego, P. 2013-06-29 7:10 ` Georg Bauhaus ` (2 more replies) 0 siblings, 3 replies; 25+ messages in thread From: Rego, P. @ 2013-06-28 19:49 UTC (permalink / raw) I am trying to reduce the size of an application. Is there a tool (in GNAT) which generates a report for each package elements, of how much they contribute to the total size of the obj (and the final executable)? Thanks. Rego. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-06-28 19:49 Size optimization for objects Rego, P. @ 2013-06-29 7:10 ` Georg Bauhaus 2013-07-01 13:56 ` Rego, P. 2013-06-29 9:48 ` Jack Daniels 2013-06-30 11:34 ` rrr.eee.27 2 siblings, 1 reply; 25+ messages in thread From: Georg Bauhaus @ 2013-06-29 7:10 UTC (permalink / raw) On 28.06.13 21:49, Rego, P. wrote: > I am trying to reduce the size of an application. Is there a tool (in GNAT) which generates a report for each package elements, of how much they contribute to the total size of the obj (and the final executable)? -gnatR might be a starting point. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-06-29 7:10 ` Georg Bauhaus @ 2013-07-01 13:56 ` Rego, P. 2013-07-01 16:49 ` G.B. 0 siblings, 1 reply; 25+ messages in thread From: Rego, P. @ 2013-07-01 13:56 UTC (permalink / raw) On Saturday, June 29, 2013 4:10:56 AM UTC-3, Georg Bauhaus wrote: > On 28.06.13 21:49, Rego, P. wrote: > > > I am trying to reduce the size of an application. Is there a tool (in GNAT) which generates a report for each package elements, of how much they contribute to the total size of the obj (and the final executable)? > > > > -gnatR might be a starting point. I should build the application with "-gnatR" in the compiler section of GPS project, right? What does this generate? I did not realize the difference (maybe I did not know where to find the info). Thanks. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-01 13:56 ` Rego, P. @ 2013-07-01 16:49 ` G.B. 0 siblings, 0 replies; 25+ messages in thread From: G.B. @ 2013-07-01 16:49 UTC (permalink / raw) On 01.07.13 15:56, Rego, P. wrote: > On Saturday, June 29, 2013 4:10:56 AM UTC-3, Georg Bauhaus wrote: >> On 28.06.13 21:49, Rego, P. wrote: >> >>> I am trying to reduce the size of an application. Is there a tool (in GNAT) which generates a report for each package elements, of how much they contribute to the total size of the obj (and the final executable)? >> >> >> >> -gnatR might be a starting point. > > I should build the application with "-gnatR" in the compiler section of GPS project, right? What does this generate? I did not realize the difference (maybe I did not know where to find the info). Thanks. > Have a look at -gnatR in the GNAT User's Guide that is part of GNAT distributions. The switch asks the compiler to output "representation information for declared types and objects". ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-06-28 19:49 Size optimization for objects Rego, P. 2013-06-29 7:10 ` Georg Bauhaus @ 2013-06-29 9:48 ` Jack Daniels 2013-07-01 13:58 ` Rego, P. 2013-06-30 11:34 ` rrr.eee.27 2 siblings, 1 reply; 25+ messages in thread From: Jack Daniels @ 2013-06-29 9:48 UTC (permalink / raw) Le vendredi 28 juin 2013 21:49:20 UTC+2, Rego, P. a écrit : > I am trying to reduce the size of an application. Is there a tool (in GNAT) which generates a report for each package elements, of how much they contribute to the total size of the obj (and the final executable)? 2 hints : 1/ gnatelim 2/ use strip to remove symbol tables :I was able to reduce the size of an exe from 3.5 Mb to 1.6 Mb on Linux strip is standard. on Windows strip is part of cygwin. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-06-29 9:48 ` Jack Daniels @ 2013-07-01 13:58 ` Rego, P. 0 siblings, 0 replies; 25+ messages in thread From: Rego, P. @ 2013-07-01 13:58 UTC (permalink / raw) On Saturday, June 29, 2013 6:48:25 AM UTC-3, Jack Daniels wrote: > Le vendredi 28 juin 2013 21:49:20 UTC+2, Rego, P. a écrit : > > > I am trying to reduce the size of an application. Is there a tool (in GNAT) which generates a report for each package elements, of how much they contribute to the total size of the obj (and the final executable)? > > > > 2 hints : > > 1/ gnatelim > > 2/ use strip to remove symbol tables :I was able to reduce the size of an exe from 3.5 Mb to 1.6 Mb > > on Linux strip is standard. > > on Windows strip is part of cygwin. Thanks Jack. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-06-28 19:49 Size optimization for objects Rego, P. 2013-06-29 7:10 ` Georg Bauhaus 2013-06-29 9:48 ` Jack Daniels @ 2013-06-30 11:34 ` rrr.eee.27 2013-07-01 14:35 ` Rego, P. 2 siblings, 1 reply; 25+ messages in thread From: rrr.eee.27 @ 2013-06-30 11:34 UTC (permalink / raw) On Friday, June 28, 2013 9:49:20 PM UTC+2, Rego, P. wrote: > I am trying to reduce the size of an application. Is there a tool (in GNAT) which generates a report for each package elements, of how much they contribute to the total size of the obj (and the final executable)? > strip(1) reduces the size of an application in the file system by removing the debug info. If you want to see the size of various elements in a binary use nm(1). nm --print-size --size-sort might give you some hints where to start remving elements. If you compile with -fdata-sections -ffunction-sections and link with --gc-sections the linker automatically removes all unused code and all unused data. That is typically easier than gnatelim. HTH Rolf ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-06-30 11:34 ` rrr.eee.27 @ 2013-07-01 14:35 ` Rego, P. 2013-07-01 15:28 ` Niklas Holsti 0 siblings, 1 reply; 25+ messages in thread From: Rego, P. @ 2013-07-01 14:35 UTC (permalink / raw) Hello Rolf, On Sunday, June 30, 2013 8:34:30 AM UTC-3, rrr.e...@gmail.com wrote: > strip(1) reduces the size of an application in the file system by removing the debug info. So it's not the best option, because I am trying to reduce the application size in order to be able to debug the app. A new added code caused the app to grow beyond I expected, so now I am not able to debug it anymore. I think the best is to analyse using nm. But also probably there is more code (than the newest added one) I should optimize. > If you want to see the size of various elements in a binary use nm(1). nm --print-size --size-sort might give you some hints where to start remving elements. I am still having some difficult in understand the information generated by nm. It generates something like 00c038d6 ff42d001 D ___gl_locking_policy The first column I think it's the "symbol value", the second column I guess it's the size of the symbol. The other columns are ok, since the man nm explains quite well. What does "symbol value" mean? Also, the second column represents the symbol size (in bytes I presume). If I sum all the symbol sizes, should the total sum give the size of the executable file? I tried this, but the total sum is far bigger than the real size of the application binary. > If you compile with -fdata-sections -ffunction-sections and link with --gc-sections the linker automatically removes all unused code and all unused data. That is typically easier than gnatelim. I also will try this. Thanks, Rego. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-01 14:35 ` Rego, P. @ 2013-07-01 15:28 ` Niklas Holsti 2013-07-01 16:35 ` Rego, P. 0 siblings, 1 reply; 25+ messages in thread From: Niklas Holsti @ 2013-07-01 15:28 UTC (permalink / raw) On 13-07-01 17:35 , Rego, P. wrote: > I am still having some difficult in understand the information > generated by nm. It generates something like > 00c038d6 ff42d001 D ___gl_locking_policy > > The first column I think it's the "symbol value", the second column I > guess it's the size of the symbol. The other columns are ok, since > the man nm explains quite well. What does "symbol value" mean? In the linker world, "symbol value" usually means the address of the object or subprogram identified by the symbol. However, sometimes symbols can also stand for other kinds of values (offsets or sizes), but that is less common. My "nm", on my 64-bit system, generates the value/address as a single column with 16-digit hex values, followed by "D" and other codes in the second column. Perhaps your "nm" separates the 16 hex digits into two 8-digit groups, for easier reading? Are you using 32-bit or 64-bit binaries? > Also, the second column represents the symbol size (in bytes I > presume). From your example, I doubt that: ff42d001 does not seem a likely size for anything. -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ . ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-01 15:28 ` Niklas Holsti @ 2013-07-01 16:35 ` Rego, P. 2013-07-01 18:21 ` Niklas Holsti 0 siblings, 1 reply; 25+ messages in thread From: Rego, P. @ 2013-07-01 16:35 UTC (permalink / raw) On Monday, July 1, 2013 12:28:24 PM UTC-3, Niklas Holsti wrote: > In the linker world, "symbol value" usually means the address of the > object or subprogram identified by the symbol. However, sometimes > symbols can also stand for other kinds of values (offsets or sizes), but > that is less common. Ok, now I understand. Thanks. > My "nm", on my 64-bit system, generates the value/address as a single > column with 16-digit hex values, followed by "D" and other codes in the > second column. Perhaps your "nm" separates the 16 hex digits into two > 8-digit groups, for easier reading? Are you using 32-bit or 64-bit binaries? I am using 32-bit binaries. Actually, it generates 2 columns of 8 hex digits only when I put the options --print-sizes --size-sort. Otherwise, it gives me something like 02d62538 N .stab When I put the option --print-size --size-sort, it gives me (in a big list) 02d62538 fd3c61e0 N .stab so I wonder that the second column should be the size. However, if I add all those second columns, the sum result is incoherent (much much bigger) with the real size of the final binary. Maybe is it masked with something I am missing? > > > > > Also, the second column represents the symbol size (in bytes I > > > presume). > > > > From your example, I doubt that: ff42d001 does not seem a likely size > > for anything. > > > > -- > > Niklas Holsti > > Tidorum Ltd > > niklas holsti tidorum fi > > . @ . ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-01 16:35 ` Rego, P. @ 2013-07-01 18:21 ` Niklas Holsti 2013-07-02 20:32 ` Rego, P. 0 siblings, 1 reply; 25+ messages in thread From: Niklas Holsti @ 2013-07-01 18:21 UTC (permalink / raw) On 13-07-01 19:35 , Rego, P. wrote: > On Monday, July 1, 2013 12:28:24 PM UTC-3, Niklas Holsti wrote: >> In the linker world, "symbol value" usually means the address of the >> object or subprogram identified by the symbol. However, sometimes >> symbols can also stand for other kinds of values (offsets or sizes), but >> that is less common. > Ok, now I understand. Thanks. > >> My "nm", on my 64-bit system, generates the value/address as a single >> column with 16-digit hex values, followed by "D" and other codes in the >> second column. Perhaps your "nm" separates the 16 hex digits into two >> 8-digit groups, for easier reading? Are you using 32-bit or 64-bit binaries? > I am using 32-bit binaries. Actually, it generates 2 columns of 8 hex > digits only when I put the options --print-sizes --size-sort. Otherwise, > it gives me something like > 02d62538 N .stab > > When I put the option --print-size --size-sort, it gives me (in a big list) > 02d62538 fd3c61e0 N .stab > > so I wonder that the second column should be the size. However, > if I add all those second columns, the sum result is incoherent > (much much bigger) with the real size of the final binary. Maybe > is it masked with something I am missing? On a 32-bit system (i686, Ubuntu) "nm --print-size --size-sort", gives me output with a second column that does look like a size, for example: 40301408 0000003c T Handle_TMs 40301308 0000003c T Slot_Start_ISR 4030cd14 0000003c T XM_read_console 4030ccd8 0000003c T XM_write_console 4030ec60 0000003c T _TOD_Handler_initialization 40311d90 0000003c T _Timer_Manager_initialization 403106ac 0000003c T _User_extensions_Add_API_set 40302dac 0000003c T ecs_Populate_Synchronization_Message 40305294 0000003c T efw_Pool_Is_Valid 403071b4 0000003c T emb_Max_RT_To_BC_Transfer_Duration 4030d83c 00000040 T Clock_driver_support_initialize_hardware 403026c4 00000040 T Time_Span_Max Running with --numeric-sort instead of --size-sort show that the "size" is indeed computed as the difference between the address of the symbol and the address of the symbol with the next higher address, as "man nm" says.m Perhaps you can show a bit more of your nm output? Could give us more basis for guessing what the second column might mean, if it is not "size". -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ . ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-01 18:21 ` Niklas Holsti @ 2013-07-02 20:32 ` Rego, P. 2013-07-06 16:06 ` Niklas Holsti 0 siblings, 1 reply; 25+ messages in thread From: Rego, P. @ 2013-07-02 20:32 UTC (permalink / raw) > On a 32-bit system (i686, Ubuntu) "nm --print-size --size-sort", gives > me output with a second column that does look like a size, for example: > 40301408 0000003c T Handle_TMs > 40301308 0000003c T Slot_Start_ISR > 4030cd14 0000003c T XM_read_console > 4030ccd8 0000003c T XM_write_console > 4030ec60 0000003c T _TOD_Handler_initialization > 40311d90 0000003c T _Timer_Manager_initialization > 403106ac 0000003c T _User_extensions_Add_API_set > 40302dac 0000003c T ecs_Populate_Synchronization_Message > 40305294 0000003c T efw_Pool_Is_Valid > 403071b4 0000003c T emb_Max_RT_To_BC_Transfer_Duration > 4030d83c 00000040 T Clock_driver_support_initialize_hardware > 403026c4 00000040 T Time_Span_Max That's the same with me. > Running with --numeric-sort instead of --size-sort show that the "size" > is indeed computed as the difference between the address of the symbol > and the address of the symbol with the next higher address, as "man nm" > says.m > Perhaps you can show a bit more of your nm output? Could give us more > basis for guessing what the second column might mean, if it is not "size". Actually, the only point it that, when I add all the second column values, the resulting value is totally different from the real binary size. Trying a simple example. -- bla.adb with Ada.Text_IO; procedure Bla is procedure Write_Something is begin Ada.Text_IO.Put_Line ("just a test"); end Write_Something; begin Write_Something; end Bla; and building it with gnatmake bla.adb. If I run nm --print-size --size-sort bla.o the console returns me 00000000 00000014 r .rdata 00000022 0000001e T __ada_bla 00000000 00000022 t _bla__write_something.0 and the read size of bla.o is 611 bytes. If I add the second values, the total result is 16#44" which is 68 in decimal, which is not 611 bytes. Also, if I run nm --print-size --size-sort bla.exe > bla.txt the bla.parse is big, but adding the second column, the result (in Excel I convert it to decimal before adding) is 8.61147E+12 and the real bla.exe size is 1512500 bytes, also very different. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-02 20:32 ` Rego, P. @ 2013-07-06 16:06 ` Niklas Holsti 2013-07-10 11:57 ` Rego, P. 0 siblings, 1 reply; 25+ messages in thread From: Niklas Holsti @ 2013-07-06 16:06 UTC (permalink / raw) On 13-07-02 23:32 , Rego, P. wrote: >> On a 32-bit system (i686, Ubuntu) "nm --print-size --size-sort", gives >> me output with a second column that does look like a size, for example: >> 40301408 0000003c T Handle_TMs >> 40301308 0000003c T Slot_Start_ISR >> 4030cd14 0000003c T XM_read_console >> 4030ccd8 0000003c T XM_write_console >> 4030ec60 0000003c T _TOD_Handler_initialization >> 40311d90 0000003c T _Timer_Manager_initialization >> 403106ac 0000003c T _User_extensions_Add_API_set >> 40302dac 0000003c T ecs_Populate_Synchronization_Message >> 40305294 0000003c T efw_Pool_Is_Valid >> 403071b4 0000003c T emb_Max_RT_To_BC_Transfer_Duration >> 4030d83c 00000040 T Clock_driver_support_initialize_hardware >> 403026c4 00000040 T Time_Span_Max > That's the same with me. > >> Running with --numeric-sort instead of --size-sort show that the "size" >> is indeed computed as the difference between the address of the symbol >> and the address of the symbol with the next higher address, as "man nm" >> says.m >> Perhaps you can show a bit more of your nm output? Could give us more >> basis for guessing what the second column might mean, if it is not "size". > Actually, the only point it that, when I add all the second column values, > the resulting value is totally different from the real binary size. > > Trying a simple example. > > -- bla.adb > with Ada.Text_IO; > procedure Bla is > procedure Write_Something is > begin > Ada.Text_IO.Put_Line ("just a test"); > end Write_Something; > begin > Write_Something; > end Bla; > > and building it with gnatmake bla.adb. > > If I run > nm --print-size --size-sort bla.o > > the console returns me > > 00000000 00000014 r .rdata > 00000022 0000001e T __ada_bla > 00000000 00000022 t _bla__write_something.0 Looks about right to me. > > and the read size of bla.o is 611 bytes. What do you mean by "read size"? Perhaps this is a typo, and you meant to write "real size"? If you mean the total size of the file bla.o (from the directory listing, e.g "ls -l"), this is not a useful comparison, because the file contains much more data than just the machine code: there are headers, symbol tables, and other debug information -- among other things, the information that "nm" uses to associate machine code addresses with identifier symbols. > If I add the second values, > the total result is 16#44" which is 68 in decimal, which is not 611 bytes. > > Also, if I run > nm --print-size --size-sort bla.exe > bla.txt > > the bla.parse is big, What do you mean by "bla.parse"? Perhaps "bla.txt"? The size of this text file is totally irrelevant. > but adding the second column, the result (in Excel I convert it > to decimal before adding) is 8.61147E+12 and the real bla.exe > size is 1512500 bytes, also very different. Again, if by "real size" you mean the entire size of the file bla.exe, the comparison it not useful, just as for bla.o: bla.exe contains a lot more data than just the machine code. The Excel summed size that you show is surprising. Perhaps the method "nm" uses to compute function size (as the difference between to adjacent symbols) does not work correctly for some special case, such as the function with the highest address. Without seeing the whole output from "nm", it is difficult to say. To find the total amount of data/code, in an exe, I would look either at the link map output, or use "objdump" to see the sizes of the segments. -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ . ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-06 16:06 ` Niklas Holsti @ 2013-07-10 11:57 ` Rego, P. 2013-07-10 11:58 ` Rego, P. 2013-07-11 8:35 ` Niklas Holsti 0 siblings, 2 replies; 25+ messages in thread From: Rego, P. @ 2013-07-10 11:57 UTC (permalink / raw) > > and the read size of bla.o is 611 bytes. > What do you mean by "read size"? Perhaps this is a typo, and you meant > to write "real size"? > If you mean the total size of the file bla.o (from the directory > listing, e.g "ls -l"), this is not a useful comparison, because the file > contains much more data than just the machine code: there are headers, > symbol tables, and other debug information -- among other things, the > information that "nm" uses to associate machine code addresses with > identifier symbols. Yes, it is from directory listing. In this case, the 'size' provided by "ls -l" should be bigger, right? > > If I add the second values, > > the total result is 16#44" which is 68 in decimal, which is not 611 bytes. > > Also, if I run > > nm --print-size --size-sort bla.exe > bla.txt > > the bla.parse is big, > What do you mean by "bla.parse"? Perhaps "bla.txt"? The size of this > text file is totally irrelevant. Sorry, I meant "bla.txt". I agree, it was just a comment. > > but adding the second column, the result (in Excel I convert it > > to decimal before adding) is 8.61147E+12 and the real bla.exe > > size is 1512500 bytes, also very different. > Again, if by "real size" you mean the entire size of the file bla.exe, > the comparison it not useful, just as for bla.o: bla.exe contains a lot > more data than just the machine code. I don't think 8.61147E+12 is irrelevant. Again, if you consider the lots of things added by "ls -l", the size of bla.exe should be bigger. > The Excel summed size that you show is surprising. Perhaps the method > "nm" uses to compute function size (as the difference between to > adjacent symbols) does not work correctly for some special case, such as > the function with the highest address. Without seeing the whole output > from "nm", it is difficult to say. Since the output is big, I will paste it in the next post. > To find the total amount of data/code, in an exe, I would look either at > the link map output, or use "objdump" to see the sizes of the segments. I will run objdump so. Thanks. Rego. > -- > > Niklas Holsti > > Tidorum Ltd > > niklas holsti tidorum fi > > . @ . ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-10 11:57 ` Rego, P. @ 2013-07-10 11:58 ` Rego, P. 2013-07-11 9:10 ` Niklas Holsti 2013-07-11 8:35 ` Niklas Holsti 1 sibling, 1 reply; 25+ messages in thread From: Rego, P. @ 2013-07-10 11:58 UTC (permalink / raw) Output "bla.txt" of nm: 00414176 ffbec001 D ___gl_locking_policy 00414175 ffbec001 D ___gl_queuing_policy 00414174 ffbec001 D ___gl_task_dispatching_policy 00414177 ffbec001 D ___gl_wc_encoding 00414bd8 ffbec001 D ___gnat_path_separator 00414638 ffbec001 D _ada__finalization__controlledF 004143f8 ffbec001 D _ada__streams__root_stream_typeF 00414930 ffbec001 D _ada__tags_E 004148bc ffbec001 D _ada__text_io__text_afcbF 004147d0 ffbec001 D _system__file_control_block_E 00414181 ffbec001 D _system__restrictions__rident__boolean_entry_barriers 00414182 ffbec001 D _system__restrictions__rident__max_entry_queue_depth 00414183 ffbec001 D _system__restrictions__rident__no_dynamic_interrupts 00414184 ffbec001 D _system__restrictions__rident__no_requeue 00414185 ffbec001 D _system__restrictions__rident__no_task_attributes 00414180 ffbec001 D _system__restrictions_E 00414b40 ffbec001 D _system__stack_checking_E 00414aa0 ffbec001 D _system__standard_library__exception_trace 004149c0 ffbec001 D _system__standard_library_E 00414b80 ffbec001 D _system__stream_attributes_E 00414c06 ffbec001 D _system__wch_con__wcem_brackets 00414c04 ffbec001 D _system__wch_con__wcem_euc 00414c01 ffbec001 D _system__wch_con__wcem_hex 00414c03 ffbec001 D _system__wch_con__wcem_shift_jis 00414c02 ffbec001 D _system__wch_con__wcem_upper 00414c05 ffbec001 D _system__wch_con__wcem_utf8 00414c00 ffbec001 D _system__wch_con_E 00414b36 ffbec002 D _ada__exceptions__exception_traces__nlineXn 00414b41 ffbec003 D _system__stack_checking__multi_processor 0041c0a4 ffbe4004 i .idata$4 0041c0a0 ffbe4004 i .idata$4 0041c09c ffbe4004 i .idata$4 0041c098 ffbe4004 i .idata$4 0041c094 ffbe4004 i .idata$4 0041c090 ffbe4004 i .idata$4 0041c08c ffbe4004 i .idata$4 0041c088 ffbe4004 i .idata$4 0041c084 ffbe4004 i .idata$4 0041c080 ffbe4004 i .idata$4 0041c07c ffbe4004 i .idata$4 0041c074 ffbe4004 i .idata$4 0041c070 ffbe4004 i .idata$4 0041c06c ffbe4004 i .idata$4 0041c064 ffbe4004 i .idata$4 0041c234 ffbe4004 i .idata$4 0041c0f8 ffbe4004 i .idata$4 0041c0fc ffbe4004 i .idata$4 0041c104 ffbe4004 i .idata$4 0041c108 ffbe4004 i .idata$4 0041c10c ffbe4004 i .idata$4 0041c110 ffbe4004 i .idata$4 0041c190 ffbe4004 i .idata$4 0041c230 ffbe4004 i .idata$4 0041c22c ffbe4004 i .idata$4 0041c118 ffbe4004 i .idata$4 0041c11c ffbe4004 i .idata$4 0041c120 ffbe4004 i .idata$4 0041c228 ffbe4004 i .idata$4 0041c224 ffbe4004 i .idata$4 0041c238 ffbe4004 i .idata$4 0041c21c ffbe4004 i .idata$4 0041c0b0 ffbe4004 i .idata$4 0041c214 ffbe4004 i .idata$4 0041c0bc ffbe4004 i .idata$4 0041c0c0 ffbe4004 i .idata$4 0041c124 ffbe4004 i .idata$4 0041c0c4 ffbe4004 i .idata$4 0041c128 ffbe4004 i .idata$4 0041c18c ffbe4004 i .idata$4 0041c0c8 ffbe4004 i .idata$4 0041c0cc ffbe4004 i .idata$4 0041c0d0 ffbe4004 i .idata$4 0041c188 ffbe4004 i .idata$4 0041c12c ffbe4004 i .idata$4 0041c130 ffbe4004 i .idata$4 0041c0d4 ffbe4004 i .idata$4 0041c0f4 ffbe4004 i .idata$4 0041c184 ffbe4004 i .idata$4 0041c210 ffbe4004 i .idata$4 0041c20c ffbe4004 i .idata$4 0041c208 ffbe4004 i .idata$4 0041c0d8 ffbe4004 i .idata$4 0041c204 ffbe4004 i .idata$4 0041c200 ffbe4004 i .idata$4 0041c0dc ffbe4004 i .idata$4 0041c0e0 ffbe4004 i .idata$4 0041c0e4 ffbe4004 i .idata$4 0041c0e8 ffbe4004 i .idata$4 0041c0ec ffbe4004 i .idata$4 0041c0a8 ffbe4004 i .idata$4 0041c180 ffbe4004 i .idata$4 0041c220 ffbe4004 i .idata$4 0041c17c ffbe4004 i .idata$4 0041c0f0 ffbe4004 i .idata$4 0041c0ac ffbe4004 i .idata$4 0041c0b4 ffbe4004 i .idata$4 0041c134 ffbe4004 i .idata$4 0041c138 ffbe4004 i .idata$4 0041c23c ffbe4004 i .idata$4 0041c194 ffbe4004 i .idata$4 0041c218 ffbe4004 i .idata$4 0041c0b8 ffbe4004 i .idata$4 0041c114 ffbe4004 i .idata$4 0041c198 ffbe4004 i .idata$4 0041c1fc ffbe4004 i .idata$4 0041c1f8 ffbe4004 i .idata$4 0041c1f4 ffbe4004 i .idata$4 0041c1f0 ffbe4004 i .idata$4 0041c1ec ffbe4004 i .idata$4 0041c1e8 ffbe4004 i .idata$4 0041c13c ffbe4004 i .idata$4 0041c1e4 ffbe4004 i .idata$4 0041c1e0 ffbe4004 i .idata$4 0041c140 ffbe4004 i .idata$4 0041c144 ffbe4004 i .idata$4 0041c1dc ffbe4004 i .idata$4 0041c148 ffbe4004 i .idata$4 0041c14c ffbe4004 i .idata$4 0041c154 ffbe4004 i .idata$4 0041c158 ffbe4004 i .idata$4 0041c15c ffbe4004 i .idata$4 0041c160 ffbe4004 i .idata$4 0041c1d8 ffbe4004 i .idata$4 0041c164 ffbe4004 i .idata$4 0041c168 ffbe4004 i .idata$4 0041c1d4 ffbe4004 i .idata$4 0041c1d0 ffbe4004 i .idata$4 0041c1cc ffbe4004 i .idata$4 0041c16c ffbe4004 i .idata$4 0041c1c8 ffbe4004 i .idata$4 0041c1c4 ffbe4004 i .idata$4 0041c170 ffbe4004 i .idata$4 0041c174 ffbe4004 i .idata$4 0041c1c0 ffbe4004 i .idata$4 0041c1bc ffbe4004 i .idata$4 0041c1b8 ffbe4004 i .idata$4 0041c1b4 ffbe4004 i .idata$4 0041c1b0 ffbe4004 i .idata$4 0041c1ac ffbe4004 i .idata$4 0041c1a8 ffbe4004 i .idata$4 0041c1a4 ffbe4004 i .idata$4 0041c1a0 ffbe4004 i .idata$4 0041c19c ffbe4004 i .idata$4 0041c178 ffbe4004 i .idata$4 0041c240 ffbe4004 i .idata$5 0041c24c ffbe4004 i .idata$5 0041c250 ffbe4004 i .idata$5 0041c2d4 ffbe4004 i .idata$5 0041c2d8 ffbe4004 i .idata$5 0041c324 ffbe4004 i .idata$5 0041c328 ffbe4004 i .idata$5 0041c418 ffbe4004 i .idata$5 0041ca84 ffbe4004 i .idata$7 0041cb38 ffbe4004 i .idata$7 0041cc30 ffbe4004 i .idata$7 0041cbc8 ffbe4004 i .idata$7 0041cc2c ffbe4004 i .idata$7 0041cb34 ffbe4004 i .idata$7 0041cbcc ffbe4004 i .idata$7 0041cb30 ffbe4004 i .idata$7 0041cb2c ffbe4004 i .idata$7 0041cb28 ffbe4004 i .idata$7 0041cb48 ffbe4004 i .idata$7 0041cc28 ffbe4004 i .idata$7 0041cc24 ffbe4004 i .idata$7 0041cb4c ffbe4004 i .idata$7 0041cb24 ffbe4004 i .idata$7 0041cb20 ffbe4004 i .idata$7 0041cb50 ffbe4004 i .idata$7 0041cb1c ffbe4004 i .idata$7 0041cb54 ffbe4004 i .idata$7 0041cb58 ffbe4004 i .idata$7 0041cb5c ffbe4004 i .idata$7 0041cb60 ffbe4004 i .idata$7 0041cb64 ffbe4004 i .idata$7 0041cb18 ffbe4004 i .idata$7 0041cb68 ffbe4004 i .idata$7 0041cc20 ffbe4004 i .idata$7 0041cb6c ffbe4004 i .idata$7 0041cb70 ffbe4004 i .idata$7 0041cb74 ffbe4004 i .idata$7 0041cc1c ffbe4004 i .idata$7 0041cb14 ffbe4004 i .idata$7 0041cb78 ffbe4004 i .idata$7 0041cb7c ffbe4004 i .idata$7 0041cb80 ffbe4004 i .idata$7 0041cb10 ffbe4004 i .idata$7 0041cb84 ffbe4004 i .idata$7 0041cb88 ffbe4004 i .idata$7 0041cb8c ffbe4004 i .idata$7 0041cb0c ffbe4004 i .idata$7 0041cb08 ffbe4004 i .idata$7 0041cb90 ffbe4004 i .idata$7 0041cb94 ffbe4004 i .idata$7 0041cb98 ffbe4004 i .idata$7 0041cb9c ffbe4004 i .idata$7 0041cb04 ffbe4004 i .idata$7 0041cb00 ffbe4004 i .idata$7 0041cafc ffbe4004 i .idata$7 0041cba0 ffbe4004 i .idata$7 0041cba4 ffbe4004 i .idata$7 0041cba8 ffbe4004 i .idata$7 0041cc18 ffbe4004 i .idata$7 0041caf8 ffbe4004 i .idata$7 0041caf4 ffbe4004 i .idata$7 0041cc14 ffbe4004 i .idata$7 0041cbc0 ffbe4004 i .idata$7 0041cbac ffbe4004 i .idata$7 0041cae0 ffbe4004 i .idata$7 0041cc10 ffbe4004 i .idata$7 0041cadc ffbe4004 i .idata$7 0041cad8 ffbe4004 i .idata$7 0041cad4 ffbe4004 i .idata$7 0041cad0 ffbe4004 i .idata$7 0041cacc ffbe4004 i .idata$7 0041cac8 ffbe4004 i .idata$7 0041cac4 ffbe4004 i .idata$7 0041cac0 ffbe4004 i .idata$7 0041cabc ffbe4004 i .idata$7 0041cab8 ffbe4004 i .idata$7 0041cab4 ffbe4004 i .idata$7 0041cab0 ffbe4004 i .idata$7 0041caac ffbe4004 i .idata$7 0041cc0c ffbe4004 i .idata$7 0041caa8 ffbe4004 i .idata$7 0041caa4 ffbe4004 i .idata$7 0041caa0 ffbe4004 i .idata$7 0041ca9c ffbe4004 i .idata$7 0041ca98 ffbe4004 i .idata$7 0041ca94 ffbe4004 i .idata$7 0041ca90 ffbe4004 i .idata$7 0041ca8c ffbe4004 i .idata$7 0041ca88 ffbe4004 i .idata$7 0041cc08 ffbe4004 i .idata$7 0041ca80 ffbe4004 i .idata$7 0041ca7c ffbe4004 i .idata$7 0041ca78 ffbe4004 i .idata$7 0041ca74 ffbe4004 i .idata$7 0041cc04 ffbe4004 i .idata$7 0041ca70 ffbe4004 i .idata$7 0041cc00 ffbe4004 i .idata$7 0041cbd0 ffbe4004 i .idata$7 0041ca6c ffbe4004 i .idata$7 0041ca68 ffbe4004 i .idata$7 0041ca64 ffbe4004 i .idata$7 0041cbfc ffbe4004 i .idata$7 0041cbb0 ffbe4004 i .idata$7 0041cbf8 ffbe4004 i .idata$7 0041cbb4 ffbe4004 i .idata$7 0041cbb8 ffbe4004 i .idata$7 0041cbf4 ffbe4004 i .idata$7 0041cbf0 ffbe4004 i .idata$7 0041cbec ffbe4004 i .idata$7 0041cbe8 ffbe4004 i .idata$7 0041cbe4 ffbe4004 i .idata$7 0041cbe0 ffbe4004 i .idata$7 0041cbdc ffbe4004 i .idata$7 0041ca50 ffbe4004 i .idata$7 0041cbbc ffbe4004 i .idata$7 0041ca4c ffbe4004 i .idata$7 0041cbd8 ffbe4004 i .idata$7 0041cbd4 ffbe4004 i .idata$7 0041cbc4 ffbe4004 i .idata$7 00415628 ffbeb004 r .rdata 00417484 ffbeb004 r ___EH_FRAME_END__ 00414170 ffbec004 D ___gl_default_stack_size 00418024 ffbe8004 B ___gl_detect_blocking 0041802c ffbe8004 B ___gl_exception_tracebacks 00418038 ffbe8004 B ___gl_interrupt_states 0041417c ffbec004 D ___gl_main_priority 00418034 ffbe8004 B ___gl_num_interrupt_states 0041803c ffbe8004 B ___gl_restrictions 00414178 ffbec004 D ___gl_time_slice_val 00418030 ffbe8004 B ___gl_unreserve_all_interrupts 00418028 ffbe8004 B ___gl_zero_cost_exceptions 00414bc8 ffbec004 D ___gnat_argument_needs_quote 00414ba0 ffbec004 D ___gnat_constant_iolbf 00414b9c ffbec004 D ___gnat_constant_ionbf 00414b98 ffbec004 D ___gnat_constant_l_tmpnam 00414b94 ffbec004 D ___gnat_constant_seek_cur 00414b90 ffbec004 D ___gnat_constant_seek_end 0041b110 ffbe8004 B ___gnat_constant_seek_set 00414bc0 ffbec004 D ___gnat_environment_char 00414b38 ffbec004 D ___gnat_exception_actions_global_action 00414b3c ffbec004 D ___gnat_exception_actions_initialized 00418020 ffbe8004 B ___gnat_handler_installed 00414bd4 ffbec004 D ___gnat_library_template 00414bd0 ffbec004 D ___gnat_max_path_len 00414bc4 ffbec004 D ___gnat_prj_add_obj_files 00413220 ffbff004 T __CTOR_LIST__ 00414000 ffbec004 D __data_start__ 0041322c ffbff004 T __DTOR_LIST__ 0041c330 ffbe4004 I __imp____mb_cur_max 0041c334 ffbe4004 I __imp____p__environ 0041c338 ffbe4004 I __imp____p__fmode 0041c33c ffbe4004 I __imp____set_app_type 0041c340 ffbe4004 I __imp___assert 0041c344 ffbe4004 I __imp___cexit 0041c348 ffbe4004 I __imp___errno 0041c34c ffbe4004 I __imp___fileno 0041c350 ffbe4004 I __imp___findclose 0041c354 ffbe4004 I __imp___findfirst 0041c358 ffbe4004 I __imp___findnext 0041c35c ffbe4004 I __imp___fullpath 0041c360 ffbe4004 I __imp___get_osfhandle 0041c364 ffbe4004 I __imp___global_unwind2 0041c368 ffbe4004 I __imp___iob 0041c36c ffbe4004 I __imp___isctype 0041c370 ffbe4004 I __imp___msize 0041c374 ffbe4004 I __imp___onexit 0041c378 ffbe4004 I __imp___pctype 0041c37c ffbe4004 I __imp___setmode 0041c380 ffbe4004 I __imp__abort 0041c384 ffbe4004 I __imp__atexit 0041c388 ffbe4004 I __imp__atoi 0041c38c ffbe4004 I __imp__clearerr 0041c2e0 ffbe4004 I __imp__close 0041c258 ffbe4004 I __imp__CloseHandle@4 0041c25c ffbe4004 I __imp__CreateFileA@28 0041c260 ffbe4004 I __imp__CreateProcessA@40 0041c264 ffbe4004 I __imp__CreateSemaphoreA@16 0041c2e4 ffbe4004 I __imp__dup 0041c2e8 ffbe4004 I __imp__dup2 0041c268 ffbe4004 I __imp__EnterCriticalSection@4 0041c390 ffbe4004 I __imp__exit 0041c26c ffbe4004 I __imp__ExitProcess@4 0041c270 ffbe4004 I __imp__ExpandEnvironmentStringsA@12 0041c394 ffbe4004 I __imp__fclose 0041c398 ffbe4004 I __imp__feof 0041c39c ffbe4004 I __imp__ferror 0041c3a0 ffbe4004 I __imp__fflush 0041c3a4 ffbe4004 I __imp__fgetc 0041c2ec ffbe4004 I __imp__fileno 0041c274 ffbe4004 I __imp__FindAtomA@4 0041c278 ffbe4004 I __imp__FlushConsoleInputBuffer@4 0041c3a8 ffbe4004 I __imp__fopen 0041c3ac ffbe4004 I __imp__fprintf 0041c3b0 ffbe4004 I __imp__fputc 0041c3b4 ffbe4004 I __imp__fread 0041c3b8 ffbe4004 I __imp__free 0041c3bc ffbe4004 I __imp__freopen 0041c3c0 ffbe4004 I __imp__fseek 0041c2f0 ffbe4004 I __imp__fstat 0041c3c4 ffbe4004 I __imp__fwrite 0041c27c ffbe4004 I __imp__GetAtomNameA@12 0041c2f4 ffbe4004 I __imp__getch 0041c3c8 ffbe4004 I __imp__getchar 0041c280 ffbe4004 I __imp__GetCommandLineA@0 0041c284 ffbe4004 I __imp__GetCurrentProcess@0 0041c2f8 ffbe4004 I __imp__getcwd 0041c3cc ffbe4004 I __imp__getenv 0041c288 ffbe4004 I __imp__GetExitCodeProcess@8 0041c28c ffbe4004 I __imp__GetFileAttributesA@4 0041c290 ffbe4004 I __imp__GetFileTime@16 0041c294 ffbe4004 I __imp__GetModuleHandleA@4 0041c298 ffbe4004 I __imp__GetPriorityClass@4 0041c29c ffbe4004 I __imp__GetStdHandle@4 0041c2a0 ffbe4004 I __imp__GetVersion@0 0041c2a4 ffbe4004 I __imp__GetVersionExA@4 0041c3d0 ffbe4004 I __imp__gmtime 0041c2a8 ffbe4004 I __imp__InitializeCriticalSection@4 0041c2ac ffbe4004 I __imp__InterlockedDecrement@4 0041c2b0 ffbe4004 I __imp__InterlockedIncrement@4 0041c2fc ffbe4004 I __imp__isatty 0041c2b4 ffbe4004 I __imp__IsBadCodePtr@4 0041c300 ffbe4004 I __imp__kbhit 0041c2b8 ffbe4004 I __imp__LeaveCriticalSection@4 0041c304 ffbe4004 I __imp__lseek 0041c3d4 ffbe4004 I __imp__malloc 0041c3d8 ffbe4004 I __imp__memcmp 0041c3dc ffbe4004 I __imp__memcpy 0041c3e0 ffbe4004 I __imp__memset 0041c308 ffbe4004 I __imp__mktemp 0041c30c ffbe4004 I __imp__open 0041c3e4 ffbe4004 I __imp__putchar 0041c3e8 ffbe4004 I __imp__realloc 0041c248 ffbe4004 I __imp__RegOpenKeyExA@20 0041c2bc ffbe4004 I __imp__ReleaseSemaphore@12 0041c3ec ffbe4004 I __imp__rewind 0041c3f0 ffbe4004 I __imp__scanf 0041c2c0 ffbe4004 I __imp__SetFileTime@16 0041c2c4 ffbe4004 I __imp__SetUnhandledExceptionFilter@4 0041c3f4 ffbe4004 I __imp__setvbuf 0041c3f8 ffbe4004 I __imp__signal 0041c2c8 ffbe4004 I __imp__Sleep@4 0041c310 ffbe4004 I __imp__spawnvp 0041c3fc ffbe4004 I __imp__sprintf 0041c314 ffbe4004 I __imp__stat 0041c400 ffbe4004 I __imp__strcat 0041c404 ffbe4004 I __imp__strcpy 0041c408 ffbe4004 I __imp__strlen 0041c40c ffbe4004 I __imp__strncpy 0041c410 ffbe4004 I __imp__strstr 0041c318 ffbe4004 I __imp__tempnam 0041c414 ffbe4004 I __imp__ungetc 0041c31c ffbe4004 I __imp__unlink 0041c320 ffbe4004 I __imp__utime 0041c2cc ffbe4004 I __imp__WaitForMultipleObjects@16 0041c2d0 ffbe4004 I __imp__WaitForSingleObject@8 00414b14 ffbec004 D _ada__exceptions__counter 00414080 ffbec004 D _ada__exceptions__last_chance_handlerB 00414084 ffbec004 D _ada__exceptions__last_chance_handlerS 00414ab8 ffbec004 D _ada__exceptions__null_id 00414ab4 ffbec004 D _ada__exceptions__null_loc 00414ab0 ffbec004 D _ada__exceptions_E 00414078 ffbec004 D _ada__exceptionsB 0041407c ffbec004 D _ada__exceptionsS 0041a984 ffbe8004 B _ada__finalization__C284s 00414658 ffbec004 D _ada__finalization__C285s 0041a988 ffbe8004 B _ada__finalization__C287s 0041465c ffbec004 D _ada__finalization__C288s 0041a98c ffbe8004 B _ada__finalization__C290s 00414660 ffbec004 D _ada__finalization__C291s 0041a990 ffbe8004 B _ada__finalization__C293s 00414664 ffbec004 D _ada__finalization__C294s 0041a994 ffbe8004 B _ada__finalization__C306s 00414668 ffbec004 D _ada__finalization__C307s 0041a998 ffbe8004 B _ada__finalization__C319s 0041466c ffbec004 D _ada__finalization__C320s 0041a99c ffbe8004 B _ada__finalization__C332s 00414670 ffbec004 D _ada__finalization__C333s 0041a9a0 ffbe8004 B _ada__finalization__C345s 00414674 ffbec004 D _ada__finalization__C346s 0041a9a4 ffbe8004 B _ada__finalization__C358s 00414678 ffbec004 D _ada__finalization__C359s 0041467c ffbec004 D _ada__finalization__C372s 0041aa44 ffbe8004 B _ada__finalization__C679s 004146b4 ffbec004 D _ada__finalization__C680s 0041aa48 ffbe8004 B _ada__finalization__C682s 004146b8 ffbec004 D _ada__finalization__C683s 0041aa4c ffbe8004 B _ada__finalization__C685s 004146bc ffbec004 D _ada__finalization__C686s 0041aa50 ffbe8004 B _ada__finalization__C698s 004146c0 ffbec004 D _ada__finalization__C699s 0041aa54 ffbe8004 B _ada__finalization__C711s 004146c4 ffbec004 D _ada__finalization__C712s 0041aa58 ffbe8004 B _ada__finalization__C724s 004146c8 ffbec004 D _ada__finalization__C725s 0041aa5c ffbe8004 B _ada__finalization__C737s 004146cc ffbec004 D _ada__finalization__C738s 00414634 ffbec004 D _ada__finalization__controlledP 00414680 ffbec004 D _ada__finalization__limited_controlledP 0041ab08 ffbe8004 B _ada__finalization__list_controller__C280s 00414748 ffbec004 D _ada__finalization__list_controller__C281s 0041ab0c ffbe8004 B _ada__finalization__list_controller__C283s 0041474c ffbec004 D _ada__finalization__list_controller__C284s 0041ab10 ffbe8004 B _ada__finalization__list_controller__C296s 00414750 ffbec004 D _ada__finalization__list_controller__C297s 00414754 ffbec004 D _ada__finalization__list_controller__C310s 0041abc8 ffbe8004 B _ada__finalization__list_controller__C601s 004147a4 ffbec004 D _ada__finalization__list_controller__C602s 0041abcc ffbe8004 B _ada__finalization__list_controller__C604s 004147a8 ffbec004 D _ada__finalization__list_controller__C605s 0041abd0 ffbe8004 B _ada__finalization__list_controller__C607s 004147ac ffbec004 D _ada__finalization__list_controller__C608s 0041abd4 ffbe8004 B _ada__finalization__list_controller__C620s 004147b0 ffbec004 D _ada__finalization__list_controller__C621s 00414758 ffbec004 D _ada__finalization__list_controller__list_controllerP 004146f4 ffbec004 D _ada__finalization__list_controller__simple_list_controllerP 004146f0 ffbec004 D _ada__finalization__list_controller_E 0041415c ffbec004 D _ada__finalization__list_controllerB 00414160 ffbec004 D _ada__finalization__list_controllerS 00414630 ffbec004 D _ada__finalization_E 00414118 ffbec004 D _ada__finalizationB 0041411c ffbec004 D _ada__finalizationS 004142e4 ffbec004 D _ada__io_exceptions__R11s 00414320 ffbec004 D _ada__io_exceptions__R14s 00414358 ffbec004 D _ada__io_exceptions__R17s 00414394 ffbec004 D _ada__io_exceptions__R20s 004143d0 ffbec004 D _ada__io_exceptions__R23s 00414234 ffbec004 D _ada__io_exceptions__R2s 00414270 ffbec004 D _ada__io_exceptions__R5s 004142ac ffbec004 D _ada__io_exceptions__R8s 00414210 ffbec004 D _ada__io_exceptions_E 00414150 ffbec004 D _ada__io_exceptionsS 0041a59c ffbe8004 B _ada__streams__C252s 00414418 ffbec004 D _ada__streams__C253s 0041a5a0 ffbe8004 B _ada__streams__C265s 0041441c ffbec004 D _ada__streams__C266s 004143f4 ffbec004 D _ada__streams__root_stream_typeP 004143f0 ffbec004 D _ada__streams_E 004140f8 ffbec004 D _ada__streamsS 00414964 ffbec004 D _ada__tags__default_prim_op_count 0041497c ffbec004 D _ada__tags__dt_entry_size 00414974 ffbec004 D _ada__tags__dt_offset_to_top_size 00414968 ffbec004 D _ada__tags__dt_prologue_size 0041496c ffbec004 D _ada__tags__dt_signature_size 00414970 ffbec004 D _ada__tags__dt_tagged_kind_size 00414978 ffbec004 D _ada__tags__dt_typeinfo_ptr_size 004149b8 ffbec004 D _ada__tags__external_tag_htable__iterator_ptrXn 004149bc ffbec004 D _ada__tags__external_tag_htable__iterator_startedXn 004149ac ffbec004 D _ada__tags__external_tag_htable__null_ptrXn 004149a0 ffbec004 D _ada__tags__k_offset_to_top 004149a8 ffbec004 D _ada__tags__k_signature 004149a4 ffbec004 D _ada__tags__k_tagged_kind 0041499c ffbec004 D _ada__tags__k_typeinfo 00414960 ffbec004 D _ada__tags__no_tag 00414944 ffbec004 D _ada__tags__R2s 00414980 ffbec004 D _ada__tags__tag_size 00414988 ffbec004 D _ada__tags__tsd_entry_size 00414984 ffbec004 D _ada__tags__tsd_prologue_size 004140fc ffbec004 D _ada__tagsB 00414100 ffbec004 D _ada__tagsS 0041ae84 ffbe8004 B _ada__text_io__C306s 004148d4 ffbec004 D _ada__text_io__C307s 004148d8 ffbec004 D _ada__text_io__C320s 0041afa4 ffbe8004 B _ada__text_io__C340s 004148ec ffbec004 D _ada__text_io__C341s 0041afa8 ffbe8004 B _ada__text_io__C343s 004148f0 ffbec004 D _ada__text_io__C344s 0041afac ffbe8004 B _ada__text_io__C346s 004148f4 ffbec004 D _ada__text_io__C347s 0041afb0 ffbe8004 B _ada__text_io__C349s 004148f8 ffbec004 D _ada__text_io__C350s 004148fc ffbec004 D _ada__text_io__C353s 0041afa0 ffbe8004 B _ada__text_io__current_err 0041af98 ffbe8004 B _ada__text_io__current_in 0041af9c ffbe8004 B _ada__text_io__current_out 004148ac ffbec004 D _ada__text_io__file_modeA 004148a8 ffbec004 D _ada__text_io__file_modeN 004148dc ffbec004 D _ada__text_io__standard_err 004148e0 ffbec004 D _ada__text_io__standard_in 004148e4 ffbec004 D _ada__text_io__standard_out 004148b8 ffbec004 D _ada__text_io__text_afcbP 004148e8 ffbec004 D _ada__text_io__type_setN 004148a4 ffbec004 D _ada__text_io__unbounded 004148a0 ffbec004 D _ada__text_io_E 00414070 ffbec004 D _ada__text_ioB 00414074 ffbec004 D _ada__text_ioS 0041406c ffbec004 D _adaS 00414060 ffbec004 D _blaB 0041b0f4 ffbe8004 B _gnat_argv 0041b0f0 ffbe8004 B _gnat_envp 00414104 ffbec004 D _interfaces__c_streamsB 00414108 ffbec004 D _interfaces__c_streamsS 004140e4 ffbec004 D _interfacesS 00414bcc ffbec004 D _max_path_len 00414c80 ffbec004 d _p.0 0041410c ffbec004 D _system__crtlS 00414208 ffbec004 D _system__exception_table__exception_htable__iterator_ptrXn 0041420c ffbec004 D _system__exception_table__exception_htable__iterator_startedXn 00414204 ffbec004 D _system__exception_table__exception_htable__null_ptrXn 00414200 ffbec004 D _system__exception_table_E 004140b4 ffbec004 D _system__exception_tableB 004140b8 ffbec004 D _system__exception_tableS 004147e8 ffbec004 D _system__file_control_block__afcbF 004147e4 ffbec004 D _system__file_control_block__afcbP 0041acc0 ffbe8004 B _system__file_control_block__C292s 0041480c ffbec004 D _system__file_control_block__C293s 00414158 ffbec004 D _system__file_control_blockS 0041ad88 ffbe8004 B _system__file_io__C288b 00414868 ffbec004 D _system__file_io__C289b 0041ad8c ffbe8004 B _system__file_io__C291b 0041486c ffbec004 D _system__file_io__C292b 0041ad90 ffbe8004 B _system__file_io__C304b 00414870 ffbec004 D _system__file_io__C305b 0041ad94 ffbe8004 B _system__file_io__C317b 00414874 ffbec004 D _system__file_io__C318b 0041ad98 ffbe8004 B _system__file_io__C330b 00414878 ffbec004 D _system__file_io__C331b 0041ad9c ffbe8004 B _system__file_io__C343b 0041487c ffbec004 D _system__file_io__C344b 0041ada0 ffbe8004 B _system__file_io__C356b 00414880 ffbec004 D _system__file_io__C357b 0041ada4 ffbe8004 B _system__file_io__C369b 00414884 ffbec004 D _system__file_io__C370b 0041ada8 ffbe8004 B _system__file_io__C382b 00414888 ffbec004 D _system__file_io__C383b 0041adac ffbe8004 B _system__file_io__C395b 0041488c ffbec004 D _system__file_io__C396b 0041adb0 ffbe8004 B _system__file_io__C408b 0041482c ffbec004 D _system__file_io__file_io_clean_up_typeP 00414824 ffbec004 D _system__file_io__open_files 00414828 ffbec004 D _system__file_io__temp_files 00414820 ffbec004 D _system__file_io_E 00414110 ffbec004 D _system__file_ioB 00414114 ffbec004 D _system__file_ioS 0041a7e4 ffbe8004 B _system__finalization_implementation__C295s 00414570 ffbec004 D _system__finalization_implementation__C296s 0041a7e8 ffbe8004 B _system__finalization_implementation__C308s 00414574 ffbec004 D _system__finalization_implementation__C309s 0041a7ec ffbe8004 B _system__finalization_implementation__C321s 00414578 ffbec004 D _system__finalization_implementation__C322s 0041a7f0 ffbe8004 B _system__finalization_implementation__C334s 0041457c ffbec004 D _system__finalization_implementation__C335s 0041a7f4 ffbe8004 B _system__finalization_implementation__C347s 00414580 ffbec004 D _system__finalization_implementation__C348s 0041a7f8 ffbe8004 B _system__finalization_implementation__C360s 00414584 ffbec004 D _system__finalization_implementation__C361s 0041a7fc ffbe8004 B _system__finalization_implementation__C373s 00414588 ffbec004 D _system__finalization_implementation__C374s 0041a800 ffbe8004 B _system__finalization_implementation__C386s 0041458c ffbec004 D _system__finalization_implementation__C387s 0041a804 ffbe8004 B _system__finalization_implementation__C407s 00414590 ffbec004 D _system__finalization_implementation__C408s 00414594 ffbec004 D _system__finalization_implementation__C411s 0041a8a8 ffbe8004 B _system__finalization_implementation__C707s 004145e8 ffbec004 D _system__finalization_implementation__C708s 0041a8ac ffbe8004 B _system__finalization_implementation__C720s 004145ec ffbec004 D _system__finalization_implementation__C721s 0041a8b0 ffbe8004 B _system__finalization_implementation__C733s 004145f0 ffbec004 D _system__finalization_implementation__C734s 0041a8b4 ffbe8004 B _system__finalization_implementation__C746s 004145f4 ffbec004 D _system__finalization_implementation__C747s 0041a8b8 ffbe8004 B _system__finalization_implementation__C759s 004145f8 ffbec004 D _system__finalization_implementation__C760s 0041a8bc ffbe8004 B _system__finalization_implementation__C772s 004145fc ffbec004 D _system__finalization_implementation__C773s 0041a8c0 ffbe8004 B _system__finalization_implementation__C785s 00414600 ffbec004 D _system__finalization_implementation__C786s 0041a8c4 ffbe8004 B _system__finalization_implementation__C798s 00414604 ffbec004 D _system__finalization_implementation__C799s 0041a8c8 ffbe8004 B _system__finalization_implementation__C818s 00414608 ffbec004 D _system__finalization_implementation__C819s 0041a8cc ffbe8004 B _system__finalization_implementation__C821s 0041460c ffbec004 D _system__finalization_implementation__C822s 00414514 ffbec004 D _system__finalization_implementation__global_final_list 00414518 ffbec004 D _system__finalization_implementation__limited_record_controllerP 00414598 ffbec004 D _system__finalization_implementation__record_controllerP 00414510 ffbec004 D _system__finalization_implementation_E 00414128 ffbec004 D _system__finalization_implementationB 0041412c ffbec004 D _system__finalization_implementationS 0041a63c ffbe8004 B _system__finalization_root__C254s 00414480 ffbec004 D _system__finalization_root__C255s 0041a640 ffbe8004 B _system__finalization_root__C267s 00414484 ffbec004 D _system__finalization_root__C268s 0041a644 ffbe8004 B _system__finalization_root__C280s 00414488 ffbec004 D _system__finalization_root__C281s 0041a648 ffbe8004 B _system__finalization_root__C293s 0041448c ffbec004 D _system__finalization_root__C294s 0041a64c ffbe8004 B _system__finalization_root__C306s 00414490 ffbec004 D _system__finalization_root__C307s 00414494 ffbec004 D _system__finalization_root__C320s 0041a700 ffbe8004 B _system__finalization_root__C635s 004144dc ffbec004 D _system__finalization_root__C636s 0041a704 ffbe8004 B _system__finalization_root__C648s 004144e0 ffbec004 D _system__finalization_root__C649s 0041a708 ffbe8004 B _system__finalization_root__C661s 004144e4 ffbec004 D _system__finalization_root__C662s 0041a70c ffbe8004 B _system__finalization_root__C674s 004144e8 ffbec004 D _system__finalization_root__C675s 0041a710 ffbe8004 B _system__finalization_root__C687s 004144ec ffbec004 D _system__finalization_root__C688s 0041a714 ffbe8004 B _system__finalization_root__C700s 004144f0 ffbec004 D _system__finalization_root__C701s 0041a718 ffbe8004 B _system__finalization_root__C713s 004144f4 ffbec004 D _system__finalization_root__C714s 0041a71c ffbe8004 B _system__finalization_root__C726s 004144f8 ffbec004 D _system__finalization_root__C727s 0041a720 ffbe8004 B _system__finalization_root__C744s 004144fc ffbec004 D _system__finalization_root__C745s 0041a724 ffbe8004 B _system__finalization_root__C747s 00414500 ffbec004 D _system__finalization_root__C748s 0041a728 ffbe8004 B _system__finalization_root__C750s 00414504 ffbec004 D _system__finalization_root__C751s 0041a72c ffbe8004 B _system__finalization_root__C754s 00414508 ffbec004 D _system__finalization_root__C755s 0041450c ffbec004 D _system__finalization_root__C759s 00414434 ffbec004 D _system__finalization_root__empty_root_controlledP 00414498 ffbec004 D _system__finalization_root__root_controlledP 00414430 ffbec004 D _system__finalization_root_E 00414120 ffbec004 D _system__finalization_rootB 00414124 ffbec004 D _system__finalization_rootS 004140bc ffbec004 D _system__htableB 004140c0 ffbec004 D _system__htableS 00414b60 ffbec004 D _system__memory_E 00414164 ffbec004 D _system__memoryB 00414094 ffbec004 D _system__parametersB 00414098 ffbec004 D _system__parametersS 00414130 ffbec004 D _system__restrictionsB 00414134 ffbec004 D _system__restrictionsS 004141f4 ffbec004 D _system__secondary_stack__default_secondary_stack_size 004141f0 ffbec004 D _system__secondary_stack_E 0041409c ffbec004 D _system__secondary_stackB 004140a0 ffbec004 D _system__secondary_stackS 00414194 ffbec004 D _system__soft_links__abort_defer 0041419c ffbec004 D _system__soft_links__abort_handler 00414198 ffbec004 D _system__soft_links__abort_undefer 004141b8 ffbec004 D _system__soft_links__adafinal 004141a4 ffbec004 D _system__soft_links__check_abort_status 004141e0 ffbec004 D _system__soft_links__complete_master 004141d8 ffbec004 D _system__soft_links__current_master 004141dc ffbec004 D _system__soft_links__enter_master 004141b4 ffbec004 D _system__soft_links__finalize_global_list 004141d0 ffbec004 D _system__soft_links__get_current_excep 004141cc ffbec004 D _system__soft_links__get_exc_stack_addr 004141bc ffbec004 D _system__soft_links__get_jmpbuf_address 004141c4 ffbec004 D _system__soft_links__get_sec_stack_addr 004141d4 ffbec004 D _system__soft_links__get_stack_info 004141a8 ffbec004 D _system__soft_links__lock_task 004141c0 ffbec004 D _system__soft_links__set_jmpbuf_address 004141c8 ffbec004 D _system__soft_links__set_sec_stack_addr 004141e8 ffbec004 D _system__soft_links__task_name 004141b0 ffbec004 D _system__soft_links__task_termination_handler 004141e4 ffbec004 D _system__soft_links__timed_delay 004141ec ffbec004 D _system__soft_links__traceback_decorator_wrapper 004141ac ffbec004 D _system__soft_links__unlock_task 004141a0 ffbec004 D _system__soft_links__update_exception 00414190 ffbec004 D _system__soft_links_E 0041408c ffbec004 D _system__soft_linksB 00414090 ffbec004 D _system__soft_linksS 004140ac ffbec004 D _system__stack_checkingB 004140b0 ffbec004 D _system__stack_checkingS 00414a9c ffbec004 D _system__standard_library__exception_trace_kindN 00414a98 ffbec004 D _system__standard_library__local_partition_id 00414064 ffbec004 D _system__standard_libraryB 00414068 ffbec004 D _system__standard_libraryS 004140a4 ffbec004 D _system__storage_elementsB 004140a8 ffbec004 D _system__storage_elementsS 00414148 ffbec004 D _system__stream_attributesB 0041414c ffbec004 D _system__stream_attributesS 00414138 ffbec004 D _system__string_ops_concat_3B 0041413c ffbec004 D _system__string_ops_concat_3S 00414140 ffbec004 D _system__string_opsB 00414144 ffbec004 D _system__string_opsS 00414c20 ffbec004 D _system__traceback_entries_E 004140f0 ffbec004 D _system__traceback_entriesB 004140f4 ffbec004 D _system__traceback_entriesS 004140c4 ffbec004 D _system__tracebackB 004140c8 ffbec004 D _system__tracebackS 00414154 ffbec004 D _system__unsigned_typesS 004140dc ffbec004 D _system__wch_cnvB 004140e0 ffbec004 D _system__wch_cnvS 004140cc ffbec004 D _system__wch_conB 004140d0 ffbec004 D _system__wch_conS 004140e8 ffbec004 D _system__wch_jisB 004140ec ffbec004 D _system__wch_jisS 004140d4 ffbec004 D _system__wch_stwB 004140d8 ffbec004 D _system__wch_stwS 00414088 ffbec004 D _systemS 0041c254 ffbe4004 i fthunk 0041c2dc ffbe4004 i fthunk 0041c244 ffbe4004 i fthunk 0041c32c ffbe4004 i fthunk 0041c150 ffbe4004 i hname 0041c068 ffbe4004 i hname 0041c078 ffbe4004 i hname 0041c100 ffbe4004 i hname 00414b31 ffbec005 D _ada__exceptions__exception_data__bei_pid_headerXn 0040bde2 ffbff005 T _ada__exceptions__exception_propagation__setup_exceptionXn 0040b180 ffbff005 T _ada__exceptions__Ttracebacks_arrayBIP 004147d1 ffbec005 D _system__file_control_block__file_modeN 004147df ffbec005 D _system__file_control_block__shared_status_typeN 00412590 ffbff006 T __alloca 0041498c ffbec006 D _ada__tags__signature_kindN 00414bd9 ffbec007 D ___gnat_dir_separator 00413224 ffbff008 t .ctors 00413230 ffbff008 t .dtors 0041c684 ffbe4008 i .idata$6 0041c75c ffbe4008 i .idata$6 0041c8d8 ffbe4008 i .idata$6 0041c8ec ffbe4008 i .idata$6 0041c90c ffbe4008 i .idata$6 0041c9d8 ffbe4008 i .idata$6 0041c86c ffbe4008 i .idata$6 0041c8c4 ffbe4008 i .idata$6 0041c6e0 ffbe4008 i .idata$6 0041c6d8 ffbe4008 i .idata$6 0041c8b0 ffbe4008 i .idata$6 0041c914 ffbe4008 i .idata$6 0041c748 ffbe4008 i .idata$6 0041c928 ffbe4008 i .idata$6 0041c930 ffbe4008 i .idata$6 0041c938 ffbe4008 i .idata$6 0041c94c ffbe4008 i .idata$6 0041684c ffbeb008 r .rdata 00415074 ffbeb008 r .rdata 0041b140 ffbe8008 B ___gnat_is_cross_compiler 0041a9a8 ffbe8008 B _ada__finalization__C371s 004149b0 ffbec008 D _ada__tags__signature_typeN 0041ae88 ffbe8008 B _ada__text_io__C319s 004148b0 ffbec008 D _ada__text_io__null_str 0041b0f8 ffbe8008 B _gnat_argc 0041add8 ffbe8008 B _system__file_io__temp_file_record___SIZE 0041adc0 ffbe8008 B _system__file_io__temp_file_record__T2b___U 0041adc8 ffbe8008 B _system__file_io__temp_file_record__T3b___SIZE 0041add0 ffbe8008 B _system__file_io__temp_file_record__T3b___SIZE_A_UNIT 0041a808 ffbe8008 B _system__finalization_implementation__C410s 00414168 ffbec008 D _system__memoryS 004141f8 ffbec008 D _system__secondary_stack__ss_ratio_dynamic 0041a420 ffbe8008 B _system__secondary_stack__TchunkS___RM_SIZE 0041a410 ffbe8008 B _system__secondary_stack__TchunkS___SIZE 0041a418 ffbe8008 B _system__secondary_stack__TchunkS___SIZE_A_UNIT 0041a408 ffbe8008 B _system__secondary_stack__TchunkS__T37b___RM_SIZE 0041a3f8 ffbe8008 B _system__secondary_stack__TchunkS__T37b___SIZE 0041a400 ffbe8008 B _system__secondary_stack__TchunkS__T37b___SIZE_A_UNIT 0041a3f0 ffbe8008 B _system__secondary_stack__TchunkS__TT37bP1___U 00414b28 ffbec009 D _ada__exceptions__exception_data__bei_msg_headerXn 004147d6 ffbec009 D _system__file_control_block__shared_status_typeS 00414c07 ffbec009 D _system__wch_con__wc_encoding_letters 00414056 ffbec00a D ___gnat_ada_main_program_name 0040c62a ffbff00a T _ada__exceptions__code_address_for_aaa 0040c6c6 ffbff00a T _ada__exceptions__exception_identity 00414992 ffbec00a D _ada__tags__tagged_kindN 00414186 ffbec00a D _system__restrictions__rident__profile_nameN 0040b8d3 ffbff00b T ___gnat_exception_msg_len 0041c764 ffbe400c i .idata$6 0041c9cc ffbe400c i .idata$6 0041c9c0 ffbe400c i .idata$6 0041ca04 ffbe400c i .idata$6 0041c91c ffbe400c i .idata$6 0041c750 ffbe400c i .idata$6 0041c73c ffbe400c i .idata$6 0041c730 ffbe400c i .idata$6 0041c43c ffbe400c i .idata$6 0041c724 ffbe400c i .idata$6 0041c7e8 ffbe400c i .idata$6 0041c770 ffbe400c i .idata$6 0041c77c ffbe400c i .idata$6 0041c8a4 ffbe400c i .idata$6 0041c8b8 ffbe400c i .idata$6 0041c9ec ffbe400c i .idata$6 0041c9a8 ffbe400c i .idata$6 0041c7f4 ffbe400c i .idata$6 0041ca10 ffbe400c i .idata$6 0041ca1c ffbe400c i .idata$6 0041ca28 ffbe400c i .idata$6 0041c898 ffbe400c i .idata$6 0041c838 ffbe400c i .idata$6 0041c8cc ffbe400c i .idata$6 0041c7dc ffbe400c i .idata$6 0041c718 ffbe400c i .idata$6 0041ca34 ffbe400c i .idata$6 0041ca40 ffbe400c i .idata$6 0041c800 ffbe400c i .idata$6 0041c70c ffbe400c i .idata$6 0041c82c ffbe400c i .idata$6 0041c9b4 ffbe400c i .idata$6 0041c700 ffbe400c i .idata$6 0041c6c0 ffbe400c i .idata$6 0041c900 ffbe400c i .idata$6 0041c8f4 ffbe400c i .idata$6 0041c99c ffbe400c i .idata$6 0041c88c ffbe400c i .idata$6 0041c990 ffbe400c i .idata$6 0041c6cc ffbe400c i .idata$6 0041c9e0 ffbe400c i .idata$6 0041c6e8 ffbe400c i .idata$6 0041c984 ffbe400c i .idata$6 0041c4d4 ffbe400c i .idata$6 0041c978 ffbe400c i .idata$6 0041c96c ffbe400c i .idata$6 0041c940 ffbe400c i .idata$6 0041c960 ffbe400c i .idata$6 0041c8e0 ffbe400c i .idata$6 0041c880 ffbe400c i .idata$6 0041c6f4 ffbe400c i .idata$6 0041c874 ffbe400c i .idata$6 0041c9f8 ffbe400c i .idata$6 0041c954 ffbe400c i .idata$6 0041561c ffbeb00c r .rdata 00414ba4 ffbec00c D ___gnat_constant_eof 0041b114 ffbe800c B ___gnat_constant_iofbf 004165a8 ffbeb00c R ___gnat_text_translation_required 00414004 ffbec00c D __argv 0041cb3c ffbe400c I __libmoldname_a_iname 0041cc34 ffbe400c I __libmsvcrt_a_iname 0040b8b5 ffbff00c T _ada__exceptions__exception_data__exception_name_lengthXn 00414684 ffbec00c D _ada__finalization__limited_controlledF 0041a5a4 ffbe800c B _ada__streams__C278s 00414c84 ffbec00c d _initialized 0041a504 ffbe800c B _system__exception_table__exception_htable__iterator_indexXn 0041acc4 ffbe800c B _system__file_control_block__C305s 0041adb4 ffbe800c B _system__file_io__file_io_clean_up_object 00414b64 ffbec00c d _system__memory__available_memory 00414b44 ffbec00c D _system__stack_checking__null_stack_info 00414c24 ffbec00c D _system__traceback_entries__null_tb_entry 00414ada ffbec00d D _ada__exceptions__rmsg_06 004149eb ffbec00e D _system__standard_library__abort_signal_name 004149c1 ffbec00e D _system__standard_library__program_error_name 004149cf ffbec00e D _system__standard_library__storage_error_name 004149dd ffbec00e D _system__standard_library__tasking_error_name 00414abc ffbec00f D _ada__exceptions__rmsg_03 00414acb ffbec00f D _ada__exceptions__rmsg_04 00414ae7 ffbec00f D _ada__exceptions__rmsg_18 00414af6 ffbec00f D _ada__exceptions__rmsg_22 00414b05 ffbec00f D _ada__exceptions__rmsg_29 004149f9 ffbec00f D _system__standard_library__numeric_error_name 00414aa1 ffbec00f D _system__standard_library__runtime_finalized 00414b81 ffbec00f D _system__stream_attributes__block_stream_ops_ok 00414c90 ffbec010 d .data 0041c458 ffbe4010 i .idata$6 0041c448 ffbe4010 i .idata$6 0041c42c ffbe4010 i .idata$6 0041c4a8 ffbe4010 i .idata$6 0041c788 ffbe4010 i .idata$6 0041c7b8 ffbe4010 i .idata$6 0041c80c ffbe4010 i .idata$6 0041c81c ffbe4010 i .idata$6 0041c564 ffbe4010 i .idata$6 0041c59c ffbe4010 i .idata$6 0041c798 ffbe4010 i .idata$6 0041c7a8 ffbe4010 i .idata$6 0041c654 ffbe4010 i .idata$6 0041c618 ffbe4010 i .idata$6 0041c4fc ffbe4010 i .idata$6 0041c5bc ffbe4010 i .idata$6 0041c41c ffbe4010 i .idata$6 0041c5ac ffbe4010 i .idata$6 004168f0 ffbeb010 r .rdata 0041569c ffbeb010 r .rdata 004127f0 ffbff010 t .text 00413210 ffbff010 t ___dereg_frame_dtor 00411510 ffbff010 T ___deregister_frame_info 00412cf0 ffbff010 T ___getmainargs 00401600 ffbff010 T ___gnat_adjust_context_for_raise 0040f820 ffbff010 T ___gnat_adjust_os_resource_limits 0040af90 ffbff010 T ___gnat_arg_count 0040f8d0 ffbff010 T ___gnat_binder_supports_auto_init 0040e180 ffbff010 T ___gnat_constant_stderr 0040e190 ffbff010 T ___gnat_constant_stdin 0040e1a0 ffbff010 T ___gnat_constant_stdout 0040f130 ffbff010 T ___gnat_dup 0040f140 ffbff010 T ___gnat_dup2 0040e110 ffbff010 T ___gnat_feof 0040e120 ffbff010 T ___gnat_ferror 0040e130 ffbff010 T ___gnat_fileno 0040b0a0 ffbff010 T ___gnat_finalize 0040e640 ffbff010 T ___gnat_get_default_identifier_character_set 0040e630 ffbff010 T ___gnat_get_file_names_case_sensitive 0040e620 ffbff010 T ___gnat_get_maximum_file_name_length 004015f0 ffbff010 T ___gnat_init_float 004015e0 ffbff010 T ___gnat_install_handler 0040f0b0 ffbff010 T ___gnat_is_symbolic_link 0040f8a0 ffbff010 T ___gnat_lseek 0040f450 ffbff010 T ___gnat_os_exit 0040e9f0 ffbff010 T ___gnat_readdir_is_thread_safe 0040e5a0 ffbff010 T ___gnat_readlink 0040f8e0 ffbff010 T ___gnat_sals_init_using_constructors 0040f8c0 ffbff010 T ___gnat_set_close_on_exec 0040b090 ffbff010 T ___gnat_set_exit_status 0040e5b0 ffbff010 T ___gnat_symlink 0040f7d0 ffbff010 T ___gnat_to_canonical_dir_spec 0040f7c0 ffbff010 T ___gnat_to_canonical_file_list_free 0040f7a0 ffbff010 T ___gnat_to_canonical_file_list_init 0040f7b0 ffbff010 T ___gnat_to_canonical_file_list_next 0040f7e0 ffbff010 T ___gnat_to_canonical_file_spec 0040f7f0 ffbff010 T ___gnat_to_canonical_path_spec 0040f800 ffbff010 T ___gnat_to_host_dir_spec 0040f810 ffbff010 T ___gnat_to_host_file_spec 00410ba0 ffbff010 T ___gnat_unhandled_terminate 00412ca0 ffbff010 T ___p__environ 00412cc0 ffbff010 T ___p__fmode 00413200 ffbff010 t ___reg_frame_ctor 00412c80 ffbff010 T ___set_app_type 0041b1b0 ffbe8010 B ___w32_sharedptr 00412300 ffbff010 t ___w32_sharedptr_default_unexpected 0041b1a0 ffbe8010 B ___w32_sharedptr_terminate 00412fa0 ffbff010 T __assert 00412c90 ffbff010 T __cexit 00414c60 ffbec010 D __CRT_fmode 00414c50 ffbec010 D __CRT_glob 00414cb0 ffbec010 D __CRT_MT 00412ee0 ffbff010 T __errno 00412cd0 ffbff010 T __fileno 00412fb0 ffbff010 T __findclose 00412fd0 ffbff010 T __findfirst 00412fc0 ffbff010 T __findnext 00414c70 ffbec010 D __fmode 00412e70 ffbff010 T __fullpath 00412ef0 ffbff010 T __get_osfhandle 00412f40 ffbff010 T __global_unwind2 00410b90 ffbff010 T __gnat_builtin_longjmp 00412f30 ffbff010 T __isctype 0041ca54 ffbe4010 I __libadvapi32_a_iname 0041cae4 ffbe4010 I __libkernel32_a_iname 00412e50 ffbff010 T __msize 00412ce0 ffbff010 T __setmode 00412f90 ffbff010 T _abort 0040c6a6 ffbff010 T _ada__exceptions__eid_to_string 0040c6b6 ffbff010 T _ada__exceptions__eo_to_string 00414b18 ffbec010 D _ada__exceptions__exception_data__bei_name_headerXn 00414c30 ffbec010 D _ada__exceptions__last_chance_handler_E 00404650 ffbff010 T _ada__finalization___alignment__3 00404890 ffbff010 T _ada__finalization___alignment__4 00404660 ffbff010 T _ada__finalization___size__3 004048a0 ffbff010 T _ada__finalization___size__4 00404ca0 ffbff010 T _ada__finalization__adjust 0041aa60 ffbe8010 B _ada__finalization__C752s 00404670 ffbff010 T _ada__finalization__controlledSR__2 00404680 ffbff010 T _ada__finalization__controlledSW__2 00404cb0 ffbff010 T _ada__finalization__finalize 00404cc0 ffbff010 T _ada__finalization__finalize__2 00404cd0 ffbff010 T _ada__finalization__initialize 00404ce0 ffbff010 T _ada__finalization__initialize__2 004048b0 ffbff010 T _ada__finalization__limited_controlledSR__2 004048c0 ffbff010 T _ada__finalization__limited_controlledSW__2 00404d20 ffbff010 T _ada__finalization__list_controller___alignment 00404db0 ffbff010 T _ada__finalization__list_controller___alignment__2 00404d30 ffbff010 T _ada__finalization__list_controller___size 00404dc0 ffbff010 T _ada__finalization__list_controller___size__2 00404c90 ffbff010 T _ada__finalization__Oeq__2 004029b0 ffbff010 T _ada__streams___alignment 004029c0 ffbff010 T _ada__streams___size 00414420 ffbec010 D _ada__streams__C279s 004029d0 ffbff010 T _ada__streams__root_stream_typeDF 00402b00 ffbff010 T _ada__streams__stream_element_arrayIP 0040ae80 ffbff010 T _ada__tags__address_arrayIP 0040ae90 ffbff010 T _ada__tags__dispatch_tableIP 0040a9e0 ffbff010 T _ada__tags__get_prim_op_address 0040ade0 ffbff010 T _ada__tags__get_tagged_kind 0040aea0 ffbff010 T _ada__tags__interface_data_elementIP 0040aec0 ffbff010 T _ada__tags__interface_dataIP 0040aeb0 ffbff010 T _ada__tags__interfaces_arrayIP 0040af40 ffbff010 T _ada__tags__is_primary_dt 0040aed0 ffbff010 T _ada__tags__object_specific_data_arrayIP 0040aee0 ffbff010 T _ada__tags__object_specific_dataIP 0040adf0 ffbff010 T _ada__tags__osd 0040ab40 ffbff010 T _ada__tags__register_tag 0040af00 ffbff010 T _ada__tags__select_specific_data_arrayIP 0040aef0 ffbff010 T _ada__tags__select_specific_data_elementIP 0040af10 ffbff010 T _ada__tags__select_specific_dataIP 0040acf0 ffbff010 T _ada__tags__set_osd 0040ae40 ffbff010 T _ada__tags__set_tagged_kind 0040ada0 ffbff010 T _ada__tags__set_tsd 0040ae70 ffbff010 T _ada__tags__tsd 0040adb0 ffbff010 T _ada__tags__Tsignature_valuesBIP 0040a730 ffbff010 T _ada__tags__typeinfo_ptr 004074b0 ffbff010 T _ada__text_io___alignment__2 004074c0 ffbff010 T _ada__text_io___size__2 004079c0 ffbff010 T _ada__text_io__current_error 004079d0 ffbff010 T _ada__text_io__current_error__2 004079e0 ffbff010 T _ada__text_io__current_input 004079f0 ffbff010 T _ada__text_io__current_input__2 00407a00 ffbff010 T _ada__text_io__current_output 00407a10 ffbff010 T _ada__text_io__current_output__2 00407cd0 ffbff010 T _ada__text_io__eof_char 00414900 ffbec010 d _ada__text_io__err_name 00407ce0 ffbff010 T _ada__text_io__flush 00414910 ffbec010 d _ada__text_io__in_name 004086d0 ffbff010 T _ada__text_io__is_open 00414920 ffbec010 d _ada__text_io__out_name 00409a60 ffbff010 T _ada__text_io__standard_error 00409a70 ffbff010 T _ada__text_io__standard_error__2 00409a80 ffbff010 T _ada__text_io__standard_input 00409a90 ffbff010 T _ada__text_io__standard_input__2 00409aa0 ffbff010 T _ada__text_io__standard_output 00409ab0 ffbff010 T _ada__text_io__standard_output__2 004131c0 ffbff010 T _AddAtomA@4 00412e30 ffbff010 T _atoi 00412780 ffbff010 T _chmod 00412d60 ffbff010 T _clearerr 004127d0 ffbff010 T _close 00413080 ffbff010 T _CloseHandle@4 00413070 ffbff010 T _CreateFileA@28 004130f0 ffbff010 T _CreateProcessA@40 00413140 ffbff010 T _CreateSemaphoreA@16 00412760 ffbff010 T _dup 00412750 ffbff010 T _dup2 004130b0 ffbff010 T _EnterCriticalSection@4 00412ed0 ffbff010 T _exit 00412ff0 ffbff010 T _ExitProcess@4 00413120 ffbff010 T _ExpandEnvironmentStringsA@12 00412d90 ffbff010 T _fclose 00412ea0 ffbff010 T _feof 00412e90 ffbff010 T _ferror 00412d50 ffbff010 T _fflush 00412d70 ffbff010 T _fgetc 004126f0 ffbff010 T _fileno 004131b0 ffbff010 T _FindAtomA@4 00413020 ffbff010 T _FlushConsoleInputBuffer@4 00412d40 ffbff010 T _fopen 00410d20 ffbff010 t _forced_callee 00410e50 ffbff010 T _fpreset 00412f60 ffbff010 T _fprintf 00412de0 ffbff010 T _fputc 00412dc0 ffbff010 T _fread 00412e20 ffbff010 T _free 00412d20 ffbff010 T _freopen 00412da0 ffbff010 T _fseek 004126e0 ffbff010 T _fstat 00412db0 ffbff010 T _fwrite 00410910 ffbff010 T _get_char 0040f8b0 ffbff010 T _get_gcc_version 004131a0 ffbff010 T _GetAtomNameA@12 00412710 ffbff010 T _getch 00412f80 ffbff010 T _getchar 00413050 ffbff010 T _GetCommandLineA@0 004130d0 ffbff010 T _GetCurrentProcess@0 004127c0 ffbff010 T _getcwd 00412e40 ffbff010 T _getenv 00413110 ffbff010 T _GetExitCodeProcess@8 004131d0 ffbff010 T _GetFileAttributesA@4 00413060 ffbff010 T _GetFileTime@16 00413040 ffbff010 T _GetModuleHandleA@4 004130e0 ffbff010 T _GetPriorityClass@4 00413010 ffbff010 T _GetStdHandle@4 00413000 ffbff010 T _GetVersion@0 00413030 ffbff010 T _GetVersionExA@4 00412f20 ffbff010 T _gmtime 0041b100 ffbe8010 B _gnat_exit_status 004130a0 ffbff010 T _InitializeCriticalSection@4 00413170 ffbff010 T _InterlockedDecrement@4 00413150 ffbff010 T _InterlockedIncrement@4 00412720 ffbff010 T _isatty 00413130 ffbff010 T _IsBadCodePtr@4 00412700 ffbff010 T _kbhit 004130c0 ffbff010 T _LeaveCriticalSection@4 00412730 ffbff010 T _lseek 00412e60 ffbff010 T _malloc 00412d10 ffbff010 T _memcmp 00412d00 ffbff010 T _memcpy 00412eb0 ffbff010 T _memset 004127b0 ffbff010 T _mktemp 004127e0 ffbff010 T _open 0041b148 ffbe8010 b _PLIST 0041b158 ffbe8010 b _plist_length 00410980 ffbff010 T _put_char 00412f50 ffbff010 T _putchar 00412e10 ffbff010 T _realloc 004131f0 ffbff010 T _RegEnumValueA@32 004131e0 ffbff010 T _RegOpenKeyExA@20 00413180 ffbff010 T _ReleaseSemaphore@12 00412d30 ffbff010 T _rewind 0040e4c0 ffbff010 T _rts_get_hInstance 0040e4d0 ffbff010 T _rts_get_hPrevInstance 0040e4e0 ffbff010 T _rts_get_lpCommandLine 0040e4f0 ffbff010 T _rts_get_nShowCmd 00412f70 ffbff010 T _scanf 00413090 ffbff010 T _SetFileTime@16 00412fe0 ffbff010 T _SetUnhandledExceptionFilter@4 00412dd0 ffbff010 T _setvbuf 00412cb0 ffbff010 T _signal 00413160 ffbff010 T _Sleep@4 00412770 ffbff010 T _spawnvp 00412f10 ffbff010 T _sprintf 00412790 ffbff010 T _stat 00412f00 ffbff010 T _strcat 00412e80 ffbff010 T _strcpy 00412e00 ffbff010 T _strlen 00412df0 ffbff010 T _strncpy 00412ec0 ffbff010 T _strstr 004025a0 ffbff010 T _system__exception_table__get_ht_link 004025b0 ffbff010 T _system__exception_table__get_key 004028c0 ffbff010 T _system__exception_table__register_exception 00402820 ffbff010 T _system__exception_table__set_ht_link 00405190 ffbff010 T _system__file_control_block___alignment 004051a0 ffbff010 T _system__file_control_block___size 00414810 ffbec010 D _system__file_control_block__C306s 004053d0 ffbff010 T _system__file_io___alignment__2 004053e0 ffbff010 T _system__file_io___size__2 00414890 ffbec010 D _system__file_io__C409b 00414830 ffbec010 D _system__file_io__file_io_clean_up_typeF 004055b0 ffbff010 T _system__file_io__file_io_clean_up_typeSO__2 004053f0 ffbff010 T _system__file_io__file_io_clean_up_typeSR__2 00405400 ffbff010 T _system__file_io__file_io_clean_up_typeSW__2 00406280 ffbff010 T _system__file_io__is_open 004055c0 ffbff010 T _system__file_io__Oeq 0041ade0 ffbe8010 B _system__file_io__temp_file_record__next___OFFSET 004031a0 ffbff010 T _system__finalization_implementation___alignment 004033b0 ffbff010 T _system__finalization_implementation___alignment__2 004045b0 ffbff010 T _system__finalization_implementation___elabb 004031b0 ffbff010 T _system__finalization_implementation___size 004033c0 ffbff010 T _system__finalization_implementation___size__2 00403fe0 ffbff010 T _system__finalization_implementation__finalize 00404310 ffbff010 T _system__finalization_implementation__initialize 00404320 ffbff010 T _system__finalization_implementation__initialize__2 00403280 ffbff010 T _system__finalization_implementation__limited_record_controllerSO 00403490 ffbff010 T _system__finalization_implementation__record_controllerSO 00402b10 ffbff010 T _system__finalization_root___alignment 00402c00 ffbff010 T _system__finalization_root___alignment__2 00402b20 ffbff010 T _system__finalization_root___size 00402c10 ffbff010 T _system__finalization_root___size__2 00402b30 ffbff010 T _system__finalization_root__empty_root_controlledSR 00402b40 ffbff010 T _system__finalization_root__empty_root_controlledSW 00402b50 ffbff010 T _system__finalization_root__Oeq 00403130 ffbff010 T _system__finalization_root__read 00402c70 ffbff010 T _system__finalization_root__root_controlledSO 00403140 ffbff010 T _system__finalization_root__write 00401a80 ffbff010 T _system__restrictions__rident__profile_dataIP 00401a90 ffbff010 T _system__restrictions__rident__Tparameter_flagsBIP 00401a60 ffbff010 T _system__restrictions__rident__Trestriction_flagsBIP 00401a70 ffbff010 T _system__restrictions__rident__Trestriction_valuesBIP 0041a448 ffbe8010 b _system__secondary_stack__chunk 00402350 ffbff010 T _system__secondary_stack__fixed_stack_idIP 00402300 ffbff010 T _system__secondary_stack__mark_idIP 00402310 ffbff010 T _system__secondary_stack__memoryIP 0041a438 ffbe8010 b _system__secondary_stack__R36b 00402060 ffbff010 T _system__secondary_stack__ss_get_max 00402110 ffbff010 T _system__secondary_stack__ss_release 0041a428 ffbe8010 b _system__secondary_stack__stack 00402360 ffbff010 T _system__secondary_stack__stack_idIP 00401b40 ffbff010 T _system__soft_links__abort_defer_nt 00401b50 ffbff010 T _system__soft_links__abort_handler_nt 00401b60 ffbff010 T _system__soft_links__abort_undefer_nt 00401b90 ffbff010 T _system__soft_links__check_abort_status_nt 00401ba0 ffbff010 T _system__soft_links__complete_master_nt 00401bb0 ffbff010 T _system__soft_links__current_master_nt 00401bc0 ffbff010 T _system__soft_links__enter_master_nt 00401bd0 ffbff010 T _system__soft_links__get_current_excep_nt 00401be0 ffbff010 T _system__soft_links__get_exc_stack_addr_nt 00401bf0 ffbff010 T _system__soft_links__get_exc_stack_addr_soft 00401c00 ffbff010 T _system__soft_links__get_jmpbuf_address_nt 00401d60 ffbff010 T _system__soft_links__get_jmpbuf_address_soft 00401c10 ffbff010 T _system__soft_links__get_sec_stack_addr_nt 00401d80 ffbff010 T _system__soft_links__get_sec_stack_addr_soft 00401c20 ffbff010 T _system__soft_links__get_stack_info_nt 00401c30 ffbff010 T _system__soft_links__null_finalize_global_list 00401c40 ffbff010 T _system__soft_links__set_jmpbuf_address_nt 00401d70 ffbff010 T _system__soft_links__set_jmpbuf_address_soft 00401c50 ffbff010 T _system__soft_links__set_sec_stack_addr_nt 00401d90 ffbff010 T _system__soft_links__set_sec_stack_addr_soft 00401c60 ffbff010 T _system__soft_links__task_lock_nt 00401c80 ffbff010 T _system__soft_links__task_termination_nt 00401c70 ffbff010 T _system__soft_links__task_unlock_nt 00401e20 ffbff010 T _system__soft_links__Tnt_exc_stackBIP 00414b50 ffbec010 D _system__stack_checking__null_stack 0040b110 ffbff010 T _system__standard_library__abort_undefer_direct 0040b130 ffbff010 T _system__standard_library__image_index_table_16IP 0040b140 ffbff010 T _system__standard_library__image_index_table_32IP 0040b120 ffbff010 T _system__standard_library__image_index_table_8IP 0040e010 ffbff010 T _system__stream_attributes__fat_pointerIP 0040e000 ffbff010 T _system__stream_attributes__thin_pointerIP 00414b70 ffbec010 D _system__string_ops_concat_3_E 00414be0 ffbec010 D _system__string_ops_E 00414c10 ffbec010 D _system__traceback_E 00410a10 ffbff010 T _system__traceback_entries__pc_for 00410a20 ffbff010 T _system__traceback_entries__tb_entry_for 00414c40 ffbec010 D _system__wch_jis_E 00414bf0 ffbec010 D _system__wch_stw_E 004127a0 ffbff010 T _tempnam 00412d80 ffbff010 T _ungetc 004126d0 ffbff010 T _unlink 00412740 ffbff010 T _utime 00413100 ffbff010 T _WaitForMultipleObjects@16 00413190 ffbff010 T _WaitForSingleObject@8 00414bb0 ffbec010 d _winflush_function 0040e2f0 ffbff010 t _winflush_nt 00418040 ffbe8010 b already_called.0 0041b190 ffbe8010 b dw2_object_mutex.0 00414ca0 ffbec010 d dw2_once.1 0041b120 ffbe8010 b is_win_xp.0 0041b130 ffbe8010 b is_win_xp_checked.1 004160c8 ffbeb011 R _ada__exceptions__rmsg_13 0041628a ffbeb011 R _ada__exceptions__rmsg_31 0040c059 ffbff012 T ___gnat_unhandled_exception 0040b8c1 ffbff012 T _ada__exceptions__exception_data__exception_name_length__2Xn 0040c83b ffbff012 T _ada__exceptions__exception_name__2 0041605a ffbeb012 R _ada__exceptions__rmsg_08 0041610e ffbeb012 R _ada__exceptions__rmsg_16 00416033 ffbeb013 R _ada__exceptions__rmsg_05 004160b5 ffbeb013 R _ada__exceptions__rmsg_12 00416264 ffbeb013 R _ada__exceptions__rmsg_28 00416277 ffbeb013 R _ada__exceptions__rmsg_30 0040d05e ffbff013 T _ada__exceptions__save_occurrence 00414931 ffbec013 D _ada__tags__tag_errorE 004125ad ffbff013 t done 0041c844 ffbe4014 i .idata$6 0041c640 ffbe4014 i .idata$6 0041c588 ffbe4014 i .idata$6 0041c574 ffbe4014 i .idata$6 0041c520 ffbe4014 i .idata$6 0041c47c ffbe4014 i .idata$6 0041c468 ffbe4014 i .idata$6 0041c858 ffbe4014 i .idata$6 0041c50c ffbe4014 i .idata$6 0041c7c8 ffbe4014 i .idata$6 00416654 ffbeb014 r .rdata 00415060 ffbeb014 r .rdata 0041c000 ffbe4014 I __head_libadvapi32_a 0041c014 ffbe4014 I __head_libkernel32_a 0041c028 ffbe4014 I __head_libmoldname_a 0040c919 ffbff014 T _ada__exceptions__process_raise_exception 00415fec ffbeb014 R _ada__exceptions__rmsg_00 00416046 ffbeb014 R _ada__exceptions__rmsg_07 0041475c ffbec014 D _ada__finalization__list_controller__list_controllerF 0041451c ffbec014 D _system__finalization_implementation__limited_record_controllerF 0041459c ffbec014 D _system__finalization_implementation__record_controllerF 0041449c ffbec014 D _system__finalization_root__root_controlledF 0040d33b ffbff015 T _ada__exceptions__code_address_for_zzz 0040b6c8 ffbff015 T _ada__exceptions__exception_data__basic_exception_tback_maxlengthXn 0040d205 ffbff016 T ___gnat_to_stderr_char 0040be36 ffbff016 t _ada__exceptions__exception_traces__notify_exception___cleanXn.0 00416088 ffbeb016 R _ada__exceptions__rmsg_10 00415c6e ffbeb016 R _ada__tags__prim_op_kindN 0041609e ffbeb017 R _ada__exceptions__rmsg_11 004148bd ffbec017 D _ada__text_io__text_afcbE 00412596 ffbff017 t probe 0041c490 ffbe4018 i .idata$6 0041c534 ffbe4018 i .idata$6 0041c54c ffbe4018 i .idata$6 0041c5e8 ffbe4018 i .idata$6 0041c600 ffbe4018 i .idata$6 0041c628 ffbe4018 i .idata$6 0041c6a8 ffbe4018 i .idata$6 00414a80 ffbec018 D __abort_signal 0041abd8 ffbe8018 B _ada__finalization__list_controller__C633s 004146f8 ffbec018 D _ada__finalization__list_controller__simple_list_controllerF 00414398 ffbec018 D _ada__io_exceptions__data_error 00414324 ffbec018 D _ada__io_exceptions__device_error 0041435c ffbec018 D _ada__io_exceptions__end_error 00414274 ffbec018 D _ada__io_exceptions__mode_error 004142b0 ffbec018 D _ada__io_exceptions__name_error 00414238 ffbec018 D _ada__io_exceptions__status_error 004142e8 ffbec018 D _ada__io_exceptions__use_error 00414948 ffbec018 D _ada__tags__tag_error 00414a08 ffbec018 D _constraint_error 00414a20 ffbec018 D _numeric_error 00414a38 ffbec018 D _program_error 00414a50 ffbec018 D _storage_error 00414438 ffbec018 D _system__finalization_root__empty_root_controlledF 0041a458 ffbe8018 b _system__secondary_stack__chunk_address 00414a68 ffbec018 D _tasking_error 00416000 ffbeb019 R _ada__exceptions__rmsg_01 00416187 ffbeb019 R _ada__exceptions__rmsg_21 0041629b ffbeb019 R _ada__exceptions__rmsg_32 00416019 ffbeb01a R _ada__exceptions__rmsg_02 004160d9 ffbeb01a R _ada__exceptions__rmsg_14 004161db ffbeb01a R _ada__exceptions__rmsg_25 00415938 ffbeb01a R _ada__text_io__file_modeS 0040b327 ffbff01b T _ada__exceptions__exception_data__append_info_nlXn 004160f3 ffbeb01b R _ada__exceptions__rmsg_15 0041c4b8 ffbe401c i .idata$6 0041c5cc ffbe401c i .idata$6 0041c4e0 ffbe401c i .idata$6 0041c68c ffbe401c i .idata$6 0041562c ffbeb01c r .rdata 0040c06b ffbff01c T _ada__exceptions__exception_traces__unhandled_exception_terminateXn 0041606c ffbeb01c R _ada__exceptions__rmsg_09 004161a0 ffbeb01c R _ada__exceptions__rmsg_23 0041ab14 ffbe801c B _ada__finalization__list_controller__C309s 004147b4 ffbec01c D _ada__finalization__list_controller__C634s 0041433c ffbec01c D _ada__io_exceptions__end_errorE 004143d4 ffbec01c D _ada__io_exceptions__layout_error 004142c8 ffbec01c D _ada__io_exceptions__use_errorE 0041afb4 ffbe801c B _ada__text_io__C352s 00415600 ffbeb01c R _system__restrictions__rident__profile_nameS 0040d167 ffbff01d T ___gnat_transfer_occurrence 00401482 ffbff01e T __ada_bla 0040b897 ffbff01e T _ada__exceptions__exception_data__append_info_exception_name__2Xn 0040d1e7 ffbff01e T _ada__exceptions__raise_exception_no_defer 00416168 ffbeb01f R _ada__exceptions__rmsg_20 004161bc ffbeb01f R _ada__exceptions__rmsg_24 0040c148 ffbff01f t _ada__exceptions__stream_attributes__string_to_eo__bad_eo.1 00414639 ffbec01f D _ada__finalization__controlledE 004143f9 ffbec01f D _ada__streams__root_stream_typeE 0041c664 ffbe4020 i .idata$6 00401290 ffbff020 T ___do_frame_fini 00401270 ffbff020 T ___do_frame_init 0040b0d0 ffbff020 T ___gnat_break_start 0040ea90 ffbff020 T ___gnat_file_time_fd 004014a0 ffbff020 T ___gnat_get_interrupt_state 0040afa0 ffbff020 T ___gnat_len_arg 0040b030 ffbff020 T ___gnat_len_env 0040f150 ffbff020 T ___gnat_plist_init 0040e220 ffbff020 T ___gnat_set_binary_mode 0040e240 ffbff020 T ___gnat_set_text_mode 00410ef0 ffbff020 T ___main 00411240 ffbff020 T ___register_frame_info 00411370 ffbff020 T ___register_frame_info_table 00411390 ffbff020 T ___register_frame_table 00401250 ffbff020 T __onexit 00410e30 ffbff020 T __pei386_runtime_relocator 004146d0 ffbec020 D _ada__finalization__C753s 00404840 ffbff020 T _ada__finalization__controlledDF 004048d0 ffbff020 T _ada__finalization__limited_controlledDF 00405150 ffbff020 T _ada__finalization__list_controller__finalize 00405170 ffbff020 T _ada__finalization__list_controller__initialize__2 00404dd0 ffbff020 T _ada__finalization__list_controller__list_controllerDF 00404d40 ffbff020 T _ada__finalization__list_controller__simple_list_controllerDF 00414374 ffbec020 D _ada__io_exceptions__data_errorE 00414300 ffbec020 D _ada__io_exceptions__device_errorE 004143b0 ffbec020 D _ada__io_exceptions__layout_errorE 00414250 ffbec020 D _ada__io_exceptions__mode_errorE 0041428c ffbec020 D _ada__io_exceptions__name_errorE 00414214 ffbec020 D _ada__io_exceptions__status_errorE 00402ae0 ffbff020 T _ada__streams__root_stream_typeIP 00409ee0 ffbff020 T _ada__tags___elabs 0040a060 ffbff020 T _ada__tags__external_tag_htable__get_firstXn 0041b0d0 ffbe8020 B _ada__tags__external_tag_htable__iterator_indexXn 0040a1a0 ffbff020 T _ada__tags__external_tag_htable__resetXn 0040a960 ffbff020 T _ada__tags__get_access_level 0040a980 ffbff020 T _ada__tags__get_entry_index 0040a440 ffbff020 T _ada__tags__get_external_tag 0040a9a0 ffbff020 T _ada__tags__get_offset_index 0040a9c0 ffbff020 T _ada__tags__get_predefined_prim_op_address 0040adc0 ffbff020 T _ada__tags__get_prim_op_kind 0040a9f0 ffbff020 T _ada__tags__get_rc_offset 0040aa10 ffbff020 T _ada__tags__get_remotely_callable 00409f30 ffbff020 T _ada__tags__htable_subprograms__get_ht_linkXn 00409fe0 ffbff020 T _ada__tags__htable_subprograms__set_ht_linkXn 0040a680 ffbff020 T _ada__tags__length 0040a6a0 ffbff020 T _ada__tags__offset_to_top 0040a6c0 ffbff020 T _ada__tags__parent_size 0040ab50 ffbff020 T _ada__tags__set_access_level 0040ab70 ffbff020 T _ada__tags__set_entry_index 0040ab90 ffbff020 T _ada__tags__set_expanded_name 0040abb0 ffbff020 T _ada__tags__set_external_tag 0040abd0 ffbff020 T _ada__tags__set_interface_table 0040ac30 ffbff020 T _ada__tags__set_offset_index 0040ad00 ffbff020 T _ada__tags__set_predefined_prim_op_address 0040ad20 ffbff020 T _ada__tags__set_prim_op_address 0040ae00 ffbff020 T _ada__tags__set_prim_op_kind 0040ad40 ffbff020 T _ada__tags__set_rc_offset 0040ad60 ffbff020 T _ada__tags__set_remotely_callable 0040ae20 ffbff020 T _ada__tags__set_signature 0040ad80 ffbff020 T _ada__tags__set_ssd 0040ae50 ffbff020 T _ada__tags__ssd 0040af20 ffbff020 T _ada__tags__type_specific_dataIP 004078b0 ffbff020 T _ada__text_io__afcb_free__2 004078d0 ffbff020 T _ada__text_io__close 004078f0 ffbff020 T _ada__text_io__col 00407910 ffbff020 T _ada__text_io__col__2 00407a20 ffbff020 T _ada__text_io__delete 00407b20 ffbff020 T _ada__text_io__end_of_file__2 00407bd0 ffbff020 T _ada__text_io__end_of_line__2 00407cb0 ffbff020 T _ada__text_io__end_of_page__2 00407cf0 ffbff020 T _ada__text_io__flush__2 00407d10 ffbff020 T _ada__text_io__form 00407e40 ffbff020 T _ada__text_io__get__2 00407f70 ffbff020 T _ada__text_io__get__4 00408050 ffbff020 T _ada__text_io__get_immediate__2 00408150 ffbff020 T _ada__text_io__get_immediate__4 00408330 ffbff020 T _ada__text_io__get_line__2 00408650 ffbff020 T _ada__text_io__get_line__4 004086e0 ffbff020 T _ada__text_io__line 00408700 ffbff020 T _ada__text_io__line__2 00408770 ffbff020 T _ada__text_io__line_length__2 00408830 ffbff020 T _ada__text_io__look_ahead__2 00408880 ffbff020 T _ada__text_io__name 00408980 ffbff020 T _ada__text_io__new_line__2 00408a50 ffbff020 T _ada__text_io__new_page__2 00408b80 ffbff020 T _ada__text_io__page 00408ba0 ffbff020 T _ada__text_io__page__2 00408c10 ffbff020 T _ada__text_io__page_length__2 00408e90 ffbff020 T _ada__text_io__put__4 00409090 ffbff020 T _ada__text_io__put_line__2 004094c0 ffbff020 T _ada__text_io__set_col__2 00409650 ffbff020 T _ada__text_io__set_line__2 004096d0 ffbff020 T _ada__text_io__set_line_length__2 004097a0 ffbff020 T _ada__text_io__set_page_length__2 00409930 ffbff020 T _ada__text_io__skip_line__2 00409a40 ffbff020 T _ada__text_io__skip_page__2 00414010 ffbec020 D _ada_main_E 00401230 ffbff020 T _atexit 00411630 ffbff020 t _fde_unencoded_compare 00410920 ffbff020 T _get_int 0040e4a0 ffbff020 T _getc_immediate 0040e480 ffbff020 T _getc_immediate_nowait 004011f0 ffbff020 T _mainCRTStartup 00418000 ffbe8020 b _obj 0040f170 ffbff020 t _plist_enter 0040f190 ffbff020 t _plist_leave 00410990 ffbff020 T _put_char_stderr 00410940 ffbff020 T _put_int 00410960 ffbff020 T _put_int_stderr 004023d0 ffbff020 T _system__exception_table__exception_htable__get_firstXn 00402510 ffbff020 T _system__exception_table__exception_htable__resetXn 004147ec ffbec020 D _system__file_control_block__afcbE 00405790 ffbff020 T _system__file_io__file_io_clean_up_typeDF__2 0041acd0 ffbe8020 B _system__file_io__R1b 00407440 ffbff020 T _system__file_io__temp_file_recordIP 004039a0 ffbff020 t _system__finalization_implementation__adjust__ptr_adjust__2.0 0041a8d0 ffbe8020 B _system__finalization_implementation__C824s 00414610 ffbec020 D _system__finalization_implementation__C825s 00403ff0 ffbff020 T _system__finalization_implementation__finalize_global_list 00404330 ffbff020 t _system__finalization_implementation__raise_from_finalize___clean.3 004030d0 ffbff020 T _system__finalization_root__adjust 0041a650 ffbe8020 B _system__finalization_root__C319s 0041a730 ffbe8020 B _system__finalization_root__C758s 00403150 ffbff020 T _system__finalization_root__empty_root_controlledIP 004030f0 ffbff020 T _system__finalization_root__finalize 00403110 ffbff020 T _system__finalization_root__initialize 00402db0 ffbff020 T _system__finalization_root__root_controlledSR 00402d90 ffbff020 T _system__finalization_root__root_controlledSW 00401b00 ffbff020 T _system__restrictions__abort_allowed 00401920 ffbff020 t _system__restrictions__acquire_restrictions__get_char.0 00401b20 ffbff020 T _system__restrictions__tasking_allowed 0041a3d0 ffbe8020 B _system__secondary_stack__dummy_fixed_stack 004020f0 ffbff020 T _system__secondary_stack__ss_mark 0041a3b0 ffbe8020 B _system__secondary_stack__ss_pool 00401b70 ffbff020 T _system__soft_links__adafinal_nt 00401e00 ffbff020 T _system__soft_links__destroy_tsd 00401d40 ffbff020 T _system__soft_links__get_gnat_exception 00401c90 ffbff020 T _system__soft_links__update_exception_nt 0040d350 ffbff020 T _system__stack_checking__stack_infoIP 0040b0b0 ffbff020 T _system__standard_library__adafinal 00415de4 ffbeb020 R _system__standard_library__constraint_error_name 0040b0f0 ffbff020 T _system__standard_library__exception_dataIP 0040e2d0 ffbff020 t _winflush_95 00401210 ffbff020 T _WinMainCRTStartup 0040c972 ffbff021 T ___gnat_raise_nodefer_with_msg 0040c92d ffbff022 T ___gnat_raise_constraint_error 0040ca0f ffbff022 T ___gnat_raise_program_error 0040ca54 ffbff022 T ___gnat_raise_storage_error 00401460 ffbff022 t _bla__write_something.0 0040c683 ffbff023 T ___gnat_current_target_exception 0040c94f ffbff023 T ___gnat_raise_constraint_error_msg 0040ca31 ffbff023 T ___gnat_raise_program_error_msg 0040ca76 ffbff023 T ___gnat_raise_storage_error_msg 0040cb0f ffbff023 T ___gnat_rcheck_00 0040cb32 ffbff023 T ___gnat_rcheck_01 0040cb55 ffbff023 T ___gnat_rcheck_02 0040cb78 ffbff023 T ___gnat_rcheck_03 0040cb9b ffbff023 T ___gnat_rcheck_04 0040cbbe ffbff023 T ___gnat_rcheck_05 0040cbe1 ffbff023 T ___gnat_rcheck_06 0040cc04 ffbff023 T ___gnat_rcheck_07 0040cc27 ffbff023 T ___gnat_rcheck_08 0040cc4a ffbff023 T ___gnat_rcheck_09 0040cc6d ffbff023 T ___gnat_rcheck_10 0040cc90 ffbff023 T ___gnat_rcheck_11 0040ccb3 ffbff023 T ___gnat_rcheck_12 0040ccd6 ffbff023 T ___gnat_rcheck_13 0040ccf9 ffbff023 T ___gnat_rcheck_14 0040cd1c ffbff023 T ___gnat_rcheck_15 0040cd3f ffbff023 T ___gnat_rcheck_16 0040cd62 ffbff023 T ___gnat_rcheck_17 0040cd85 ffbff023 T ___gnat_rcheck_18 0040cda8 ffbff023 T ___gnat_rcheck_19 0040cdcb ffbff023 T ___gnat_rcheck_20 0040cdee ffbff023 T ___gnat_rcheck_21 0040ce11 ffbff023 T ___gnat_rcheck_22 0040ce34 ffbff023 T ___gnat_rcheck_23 0040ce57 ffbff023 T ___gnat_rcheck_24 0040ce7a ffbff023 T ___gnat_rcheck_25 0040ce9d ffbff023 T ___gnat_rcheck_26 0040cec0 ffbff023 T ___gnat_rcheck_27 0040cee3 ffbff023 T ___gnat_rcheck_28 0040cf06 ffbff023 T ___gnat_rcheck_29 0040cf29 ffbff023 T ___gnat_rcheck_30 0040cf4c ffbff023 T ___gnat_rcheck_31 0040cf6f ffbff023 T ___gnat_rcheck_32 004013c4 ffbff023 T _adafinal 0040c9c3 ffbff024 T ___gnat_raise_exception 00416120 ffbeb024 R _ada__exceptions__rmsg_17 00416144 ffbeb024 R _ada__exceptions__rmsg_19 00414690 ffbec024 D _ada__finalization__limited_controlledE 00414030 ffbec026 D ___gnat_version 0040b70e ffbff027 T _ada__exceptions__exception_data__exception_info_maxlengthXn 0040ca99 ffbff027 T _ada__exceptions__raise_with_location_and_msg 0040bff9 ffbff028 T ___gnat_notify_handled_exception 0041c03c ffbe4028 I __head_libmsvcrt_a 0040b5eb ffbff028 T _ada__exceptions__exception_data__basic_exception_info_maxlengthXn 0040c9e7 ffbff028 T _ada__exceptions__raise_from_signal_handler 0041b168 ffbe8028 b _plist_cs 00414840 ffbec028 D _system__file_io__file_io_clean_up_typeE 0040cf92 ffbff029 T ___gnat_reraise 0040c6d0 ffbff02b T _ada__exceptions__exception_information 0040c5ff ffbff02b T _ada__exceptions__poll 0040d071 ffbff02c T _ada__exceptions__save_occurrence__2 0040d184 ffbff02c T _ada__exceptions__string_to_eid 0041a570 ffbe802c B _ada__streams__root_stream_typeB 0041a610 ffbe802c B _system__finalization_root__empty_root_controlledB 004144b0 ffbec02c D _system__finalization_root__root_controlledE 0040d02f ffbff02f T _ada__exceptions__reraise_occurrence_no_defer 004161f5 ffbeb02f R _ada__exceptions__rmsg_26 004171cc ffbeb030 r .eh_frame 00411520 ffbff030 T ___deregister_frame 00410e60 ffbff030 T ___do_global_dtors 0040e7e0 ffbff030 T ___gnat_create_output_file 0040b000 ffbff030 T ___gnat_env_count 0040ee30 ffbff030 T ___gnat_file_exists 0040e700 ffbff030 T ___gnat_get_debuggable_suffix_ptr 0040e6d0 ffbff030 T ___gnat_get_executable_suffix_ptr 0040e6a0 ffbff030 T ___gnat_get_object_suffix_ptr 0040b150 ffbff030 T ___gnat_initialize 0040ef70 ffbff030 T ___gnat_is_readable_file 0040efa0 ffbff030 T ___gnat_is_writable_file 0040e730 ffbff030 T ___gnat_open_read 0040e260 ffbff030 T ___gnat_ttyname 00411260 ffbff030 T ___register_frame 0041b1c0 ffbe8030 B ___w32_sharedptr_unexpected 00401000 ffbff030 t __mingw32_init_mainargs 0040c993 ffbff030 T _ada__exceptions__raise_exception 00404810 ffbff030 T _ada__finalization__controlledDA 00404620 ffbff030 T _ada__finalization__controlledIP 00404860 ffbff030 T _ada__finalization__limited_controlledIP 00405120 ffbff030 T _ada__finalization__list_controller__finalize__2 00404cf0 ffbff030 T _ada__finalization__list_controller__simple_list_controllerIP 0040a080 ffbff030 T _ada__tags__external_tag_htable__get_nextXn 00409f00 ffbff030 T _ada__tags__htable_subprograms__equalXn 0040ab10 ffbff030 T _ada__tags__register_interface_tag 00408850 ffbff030 T _ada__text_io__mode 00410e00 ffbff030 t _do_pseudo_reloc 004110d0 ffbff030 t _init_object_mutex 00402570 ffbff030 T _system__exception_table__equal 004028d0 ffbff030 T _system__exception_table__exception_data_arrayIP 004023f0 ffbff030 T _system__exception_table__exception_htable__get_nextXn 00402640 ffbff030 T _system__exception_table__hash 004027f0 ffbff030 T _system__exception_table__registered_exceptions_count 0041ac90 ffbe8030 B _system__file_control_block__afcbB 00405900 ffbff030 T _system__file_io__check_file_open 00405760 ffbff030 T _system__file_io__file_io_clean_up_typeDA__2 004053a0 ffbff030 T _system__file_io__file_io_clean_up_typeIP 00405410 ffbff030 t _system__file_io__file_io_clean_up_typeSI___clean__2.0 00406290 ffbff030 T _system__file_io__make_buffered 004062c0 ffbff030 T _system__file_io__make_line_buffered 004062f0 ffbff030 T _system__file_io__make_unbuffered 00407370 ffbff030 T _system__file_io__mode 00406e50 ffbff030 T _system__file_io__reset__2 004045c0 ffbff030 T _system__finalization_implementation__limited_record_controllerIP 004031c0 ffbff030 T _system__finalization_implementation__limited_record_controllerSR 004031f0 ffbff030 T _system__finalization_implementation__limited_record_controllerSW 004045f0 ffbff030 T _system__finalization_implementation__record_controllerIP 004033d0 ffbff030 T _system__finalization_implementation__record_controllerSR 00403400 ffbff030 T _system__finalization_implementation__record_controllerSW 00414450 ffbec030 D _system__finalization_root__empty_root_controlledE 0041a6d0 ffbe8030 B _system__finalization_root__root_controlledB 00403170 ffbff030 T _system__finalization_root__root_controlledIP 00402320 ffbff030 T _system__secondary_stack__chunk_idIP 00401dd0 ffbff030 T _system__soft_links__create_tsd 00401da0 ffbff030 T _system__soft_links__tsdIP 0040e0b0 ffbff030 T _system__stream_attributes__w_ad 0040e0e0 ffbff030 T _system__stream_attributes__w_as 0040dca0 ffbff030 T _system__stream_attributes__w_b 0040dcd0 ffbff030 T _system__stream_attributes__w_c 0040dd00 ffbff030 T _system__stream_attributes__w_f 0040dd30 ffbff030 T _system__stream_attributes__w_i 0040dda0 ffbff030 T _system__stream_attributes__w_li 0040de20 ffbff030 T _system__stream_attributes__w_lli 0040de50 ffbff030 T _system__stream_attributes__w_llu 0040de80 ffbff030 T _system__stream_attributes__w_lu 0040deb0 ffbff030 T _system__stream_attributes__w_sf 0040dee0 ffbff030 T _system__stream_attributes__w_si 0040df10 ffbff030 T _system__stream_attributes__w_ssi 0040df40 ffbff030 T _system__stream_attributes__w_ssu 0040df70 ffbff030 T _system__stream_attributes__w_su 0040dfa0 ffbff030 T _system__stream_attributes__w_u 0040dfd0 ffbff030 T _system__stream_attributes__w_wc 004109b0 ffbff030 T _system__traceback__c_call_chain 004109e0 ffbff030 T _system__traceback__call_chain 00410600 ffbff030 T _system__wch_con__get_wc_encoding_method 00410c20 ffbff030 T _system__wch_jis__jis_to_euc 00412bb0 ffbff030 T _telldir 0040b6dd ffbff031 T ___gnat_append_info_e_info 0040bc91 ffbff031 T _ada__exceptions__exception_data__tailored_exception_tracebackXn 00416a9c ffbeb034 r .eh_frame 00417198 ffbeb034 r .eh_frame 00417450 ffbeb034 r .eh_frame 00416900 ffbeb034 r .rdata 0041a950 ffbe8034 B _ada__finalization__controlledB 0041aa10 ffbe8034 B _ada__finalization__limited_controlledB 00414770 ffbec034 D _ada__finalization__list_controller__list_controllerE 0041ae50 ffbe8034 B _ada__text_io__text_afcbB 0041a7b0 ffbe8034 B _system__finalization_implementation__limited_record_controllerB 0040cffa ffbff035 T _ada__exceptions__reraise_occurrence_always 0040d263 ffbff036 T _ada__exceptions__wide_exception_name 0040d299 ffbff036 T _ada__exceptions__wide_exception_name__2 0040d2cf ffbff036 T _ada__exceptions__wide_wide_exception_name 0040d305 ffbff036 T _ada__exceptions__wide_wide_exception_name__2 0040d1b0 ffbff037 T _ada__exceptions__string_to_eo 004171fc ffbeb038 r .eh_frame 0041661c ffbeb038 r .rdata 004169f0 ffbeb038 R ___EH_FRAME_BEGIN__ 0040c021 ffbff038 T ___gnat_notify_unhandled_exception 0041ab90 ffbe8038 B _ada__finalization__list_controller__list_controllerB 0041aad0 ffbe8038 B _ada__finalization__list_controller__simple_list_controllerB 00414710 ffbec038 D _ada__finalization__list_controller__simple_list_controllerE 0041ad50 ffbe8038 B _system__file_io__file_io_clean_up_typeB 0041a870 ffbe8038 B _system__finalization_implementation__record_controllerB 004145b0 ffbec038 D _system__finalization_implementation__record_controllerE 0040c087 ffbff03e T _ada__exceptions__stream_attributes__eid_to_stringXn 004108d1 ffbff03f T ___gnat_install_SEH_handler 0040cfbb ffbff03f T _ada__exceptions__reraise_occurrence 0040c0c5 ffbff03f T _ada__exceptions__stream_attributes__eo_to_stringXn 0040e900 ffbff040 T ___gnat_file_length 0040afc0 ffbff040 T ___gnat_fill_arg 0040b050 ffbff040 T ___gnat_fill_env 0040ef30 ffbff040 T ___gnat_is_directory 0040eef0 ffbff040 T ___gnat_is_regular_file 0040e140 ffbff040 T ___gnat_is_regular_file_fd 0040edf0 ffbff040 T ___gnat_named_file_length 0040e810 ffbff040 T ___gnat_open_append 0040e7a0 ffbff040 T ___gnat_open_create 0040e850 ffbff040 T ___gnat_open_new 0040e760 ffbff040 T ___gnat_open_rw 0040e9b0 ffbff040 T ___gnat_readdir 0040efd0 ffbff040 T ___gnat_set_writable 00416224 ffbeb040 R _ada__exceptions__rmsg_27 0040a7c0 ffbff040 T _ada__tags___elabb 0040a260 ffbff040 T _ada__tags__check_size 0040a1c0 ffbff040 T _ada__tags__external_tag_htable__setXn 0040af50 ffbff040 T _ada__tags__external_tag_htable__TtableBIPXn 0040a460 ffbff040 T _ada__tags__get_num_prim_ops 00409fa0 ffbff040 T _ada__tags__htable_subprograms__hashXn 0040aa30 ffbff040 T _ada__tags__inherit_dt 0040abf0 ffbff040 T _ada__tags__set_num_prim_ops 00415ba4 ffbeb040 R _ada__tags__signature_kindS 0040a740 ffbff040 T _ada__tags__wide_expanded_name 0040a780 ffbff040 T _ada__tags__wide_wide_expanded_name 004090b0 ffbff040 T _ada__text_io__putc 00409b80 ffbff040 t _ada__text_io__write__has_translated_characters__2.1 00410f60 ffbff040 t _read_uleb128 00402530 ffbff040 T _system__exception_table__exception_htable__setXn 00402900 ffbff040 T _system__exception_table__exception_htable__TtableBIPXn 0041abf0 ffbe8040 B _system__file_control_block__afcb_ptrL 00405360 ffbff040 T _system__file_control_block__afcbIP 004156ac ffbeb040 R _system__file_control_block__file_modeS 004057b0 ffbff040 T _system__file_io__append_set 00414530 ffbec040 D _system__finalization_implementation__limited_record_controllerE 00403290 ffbff040 T _system__finalization_implementation__Oeq 004034a0 ffbff040 T _system__finalization_implementation__Oeq__2 00402c80 ffbff040 T _system__finalization_root__Oeq__2 00401d00 ffbff040 T _system__soft_links___elabb 00415e04 ffbeb040 R _system__standard_library__exception_trace_kindS 0040e070 ffbff040 T _system__stream_attributes__i_as 0040d830 ffbff040 T _system__stream_attributes__i_b 0040d870 ffbff040 T _system__stream_attributes__i_c 0040d8b0 ffbff040 T _system__stream_attributes__i_f 0040d8f0 ffbff040 T _system__stream_attributes__i_i 0040d930 ffbff040 T _system__stream_attributes__i_lf 0040d970 ffbff040 T _system__stream_attributes__i_li 0040daa0 ffbff040 T _system__stream_attributes__i_lu 0040dae0 ffbff040 T _system__stream_attributes__i_sf 0040db20 ffbff040 T _system__stream_attributes__i_si 0040db60 ffbff040 T _system__stream_attributes__i_ssi 0040dba0 ffbff040 T _system__stream_attributes__i_ssu 0040dbe0 ffbff040 T _system__stream_attributes__i_su 0040dc20 ffbff040 T _system__stream_attributes__i_u 0040dc60 ffbff040 T _system__stream_attributes__i_wc 0040dd60 ffbff040 T _system__stream_attributes__w_lf 00410300 ffbff040 t _system__wch_stw__get_next_code__in_char.3 0040ea00 ffbff040 t _win32_filetime 0040e290 ffbff040 t _winflush_init 0040b185 ffbff041 T _ada__exceptions__exception_occurrenceIP 0040c104 ffbff044 T _ada__exceptions__stream_attributes__string_to_eidXn 0040d21b ffbff048 T ___gnat_to_stderr 0041af50 ffbe8048 B _ada__text_io__standard_out_afcb 0040cac0 ffbff04f T ___gnat_raise_with_msg 0040c634 ffbff04f T _ada__exceptions__call_chain 0040bde7 ffbff04f T _ada__exceptions__exception_propagation__propagate_exceptionXn 00416ad0 ffbeb050 r .eh_frame 0040ea40 ffbff050 T ___gnat_file_time_name 0040e650 ffbff050 T ___gnat_get_current_dir 0040f010 ffbff050 T ___gnat_set_executable 0040f060 ffbff050 T ___gnat_set_readonly 00404d60 ffbff050 T _ada__finalization__list_controller__list_controllerIP 0040a0b0 ffbff050 T _ada__tags__external_tag_htable__get_non_nullXn 00409f50 ffbff050 t _ada__tags__htable_subprograms__hash__h.0 0040a6e0 ffbff050 T _ada__tags__parent_tag 00407460 ffbff050 T _ada__text_io__file_modeRP 00408720 ffbff050 T _ada__text_io__line_length 00408bc0 ffbff050 T _ada__text_io__page_length 00409320 ffbff050 T _ada__text_io__reset__2 004094e0 ffbff050 T _ada__text_io__set_error 00409530 ffbff050 T _ada__text_io__set_input 004096f0 ffbff050 T _ada__text_io__set_output 00409b30 ffbff050 T _ada__text_io__ungetc 00411550 ffbff050 t _base_from_object 00410f10 ffbff050 t _size_of_encoded_value 00402420 ffbff050 T _system__exception_table__exception_htable__get_non_nullXn 004073a0 ffbff050 T _system__file_io__check_read_status 004073f0 ffbff050 T _system__file_io__check_write_status 004039c0 ffbff050 t _system__finalization_implementation__adjust__reverse_adjust__2.1 00402c20 ffbff050 T _system__finalization_root__root_controlledSI 00401940 ffbff050 t _system__restrictions__acquire_restrictions__get_natural.1 00401cb0 ffbff050 T _system__soft_links__task_name_nt 0040e020 ffbff050 T _system__stream_attributes__i_ad 0040d9b0 ffbff050 T _system__stream_attributes__i_llf 0040da00 ffbff050 T _system__stream_attributes__i_lli 0040da50 ffbff050 T _system__stream_attributes__i_llu 0040ddd0 ffbff050 T _system__stream_attributes__w_llf 0040fb20 ffbff050 T _system__string_ops__str_concat_cc 0040fe60 ffbff050 t _system__wch_stw__get_next_code__get_utf_32__get_utf_byte.2 00415648 ffbeb054 r .rdata 00415d8a ffbeb05a r _msg1.1 0040b1c6 ffbff05f T _ada__exceptions__exception_data__append_info_addressXn 00410e90 ffbff060 T ___do_global_ctors 0040d4c0 ffbff060 T ___gnat_free 0040f740 ffbff060 T ___gnat_locate_exec_on_path 0040e5c0 ffbff060 T ___gnat_try_lock 00401190 ffbff060 t ___mingw_CRTStartup 0041a8f0 ffbe8060 B _ada__finalization__controlledT 0041a9b0 ffbe8060 B _ada__finalization__limited_controlledT 0041ab30 ffbe8060 B _ada__finalization__list_controller__list_controllerT 0041aa70 ffbe8060 B _ada__finalization__list_controller__simple_list_controllerT 0041a510 ffbe8060 B _ada__streams__root_stream_typeT 0040a200 ffbff060 T _ada__tags__check_signature 0040a800 ffbff060 T _ada__tags__cw_membership 0040a2a0 ffbff060 T _ada__tags__descendant_tag 0040a000 ffbff060 T _ada__tags__external_tag_htable__getXn 00415c84 ffbeb060 R _ada__tags__tagged_kindS 004077e0 ffbff060 T _ada__text_io__afcb_allocate__2 00408670 ffbff060 T _ada__text_io__getc 00409670 ffbff060 T _ada__text_io__set_line_length 00409740 ffbff060 T _ada__text_io__set_page_length 0041ae90 ffbe8060 B _ada__text_io__standard_err_afcb 0041aef0 ffbe8060 B _ada__text_io__standard_in_afcb 00409e80 ffbff060 T _ada__text_io__text_afcbIP 0041adf0 ffbe8060 B _ada__text_io__text_afcbT 00412af0 ffbff060 T _closedir 00410fa0 ffbff060 t _read_sleb128 00415000 ffbeb060 r _restrictions.0 00412b50 ffbff060 T _rewinddir 00402370 ffbff060 T _system__exception_table__exception_htable__getXn 0041ac30 ffbe8060 B _system__file_control_block__afcbT 0041acf0 ffbe8060 B _system__file_io__file_io_clean_up_typeT 00405fe0 ffbff060 T _system__file_io__form_boolean 00406df0 ffbff060 T _system__file_io__read_buf__2 00406f90 ffbff060 T _system__file_io__write_buf 00403220 ffbff060 T _system__finalization_implementation__limited_record_controllerSI 0041a750 ffbe8060 B _system__finalization_implementation__limited_record_controllerT 00403430 ffbff060 T _system__finalization_implementation__record_controllerSI 0041a810 ffbe8060 B _system__finalization_implementation__record_controllerT 0041a5b0 ffbe8060 B _system__finalization_root__empty_root_controlledT 0041a670 ffbe8060 B _system__finalization_root__root_controlledT 00401aa0 ffbff060 T _system__restrictions__rident__restrictions_infoIP 00410cc0 ffbff060 T _system__wch_jis__shift_jis_to_jis 0040fe00 ffbff060 t _system__wch_stw__get_next_code__get_utf_32__get_hex.1 004163e4 ffbeb064 r .rdata 004165b4 ffbeb068 R ___gnat_vmsp 0040f830 ffbff070 T ___gnat_copy_attribs 0040e1b0 ffbff070 T ___gnat_full_name 0040e890 ffbff070 T ___gnat_open_new_temp 0040f0c0 ffbff070 T ___gnat_portable_spawn 0040e940 ffbff070 T ___gnat_tmp_name 00402940 ffbff070 T _ada__io_exceptions___elabs 00407840 ffbff070 T _ada__text_io__afcb_close__2 00409ac0 ffbff070 T _ada__text_io__terminate_line 00411800 ffbff070 t _frame_heapsort 00411100 ffbff070 t _init_object_mutex_once 00405e20 ffbff070 T _system__file_io__flush 0040d450 ffbff070 t _system__memory__check_available_memory 00410bb0 ffbff070 T _system__wch_jis__euc_to_jis 00410c50 ffbff070 T _system__wch_jis__jis_to_shift_jis 0040b2b6 ffbff071 T _ada__exceptions__exception_data__append_info_natXn 00416a28 ffbeb074 r .eh_frame 004013e7 ffbff079 T _main 00412310 ffbff080 t ___w32_sharedptr_get 0040a8e0 ffbff080 T _ada__tags__displace 0040a860 ffbff080 T _ada__tags__iw_membership 00408a70 ffbff080 T _ada__text_io__nextc 00411650 ffbff080 t _fde_single_encoding_compare 004025c0 ffbff080 T _system__exception_table__get_registered_exceptions 00403d20 ffbff080 T _system__finalization_implementation__deep_tag_attach 00402070 ffbff080 T _system__secondary_stack__ss_init 0041557c ffbeb084 R _system__restrictions__rident__restriction_idN 00415be4 ffbeb08a R _ada__tags__prim_op_kindS 0040c167 ffbff08f t _ada__exceptions__stream_attributes__string_to_eo__next_string.2 0040ee60 ffbff090 T ___gnat_is_absolute_path 0040e300 ffbff090 T ___gnat_is_windows_xp 0040f6b0 ffbff090 T ___gnat_locate_exec 0040a5f0 ffbff090 T _ada__tags__is_descendant_at_same_level 00407930 ffbff090 T _ada__text_io__create 00407b40 ffbff090 T _ada__text_io__end_of_line 00408af0 ffbff090 T _ada__text_io__open 00411770 ffbff090 t _frame_downheap 004115a0 ffbff090 t _get_cie_encoding 00402830 ffbff090 T _system__exception_table___elabb 00405e90 ffbff090 T _system__file_io__fopen_mode 00406d60 ffbff090 T _system__file_io__read_buf 00403c90 ffbff090 T _system__finalization_implementation__deep_tag_adjust 00403da0 ffbff090 T _system__finalization_implementation__deep_tag_finalize 00401fd0 ffbff090 T _system__secondary_stack__ss_free 0040b225 ffbff091 T _ada__exceptions__exception_data__append_info_characterXn 0041a470 ffbe8094 B _system__exception_table__exception_htable__tableXn 0040c7a6 ffbff095 T _ada__exceptions__exception_name 00416854 ffbeb09c r .rdata 0040e500 ffbff0a0 T ___gnat_to_gm_time 00401030 ffbff0a0 t __mingw32_init_fmode 0040a300 ffbff0a0 T _ada__tags__expanded_name 0040a3a0 ffbff0a0 T _ada__tags__external_tag 0040a100 ffbff0a0 T _ada__tags__external_tag_htable__removeXn 0040aa70 ffbff0a0 T _ada__tags__inherit_tsd 0040ac50 ffbff0a0 T _ada__tags__set_offset_to_top 00408790 ffbff0a0 T _ada__text_io__look_ahead 00408c30 ffbff0a0 T _ada__text_io__put 00409280 ffbff0a0 T _ada__text_io__reset 004116d0 ffbff0a0 t _fde_mixed_encoding_compare 00412be0 ffbff0a0 T _seekdir 00402470 ffbff0a0 T _system__exception_table__exception_htable__removeXn 00405c40 ffbff0a0 T _system__file_io__end_of_file 00402b60 ffbff0a0 T _system__finalization_root___assign 0040b7f5 ffbff0a2 T _ada__exceptions__exception_data__append_info_exception_nameXn 00415ce4 ffbeb0a6 R _ada__tags__signature_typeS 0040c6fb ffbff0ab T _ada__exceptions__exception_message 0040eab0 ffbff0b0 T ___gnat_set_file_time_name 004089a0 ffbff0b0 T _ada__text_io__new_page 00408cd0 ffbff0b0 T _ada__text_io__put__2 00406040 ffbff0b0 T _system__file_io__form_integer 00403e30 ffbff0b0 T _system__finalization_implementation__deep_tag_initialize 00404260 ffbff0b0 t _system__finalization_implementation__get_deep_controller 0040b613 ffbff0b5 T _ada__exceptions__exception_data__append_info_basic_exception_tracebackXn 0040b8de ffbff0b7 T _ada__exceptions__exception_data__basic_exception_tracebackXn 0040b995 ffbff0ba T _ada__exceptions__exception_data__exception_informationXn 00416934 ffbeb0bc r _w32_atom_suffix 0040b735 ffbff0c0 T ___gnat_append_info_e_msg 004010d0 ffbff0c0 t __gnu_exception_handler@4 00407bf0 ffbff0c0 T _ada__text_io__end_of_page 00407f90 ffbff0c0 T _ada__text_io__get_immediate 00405f20 ffbff0c0 T _system__file_io__form 00406320 ffbff0c0 T _system__file_io__name 00418050 ffbe80c0 B _system__restrictions__rident__profile_info 00418110 ffbe80c0 B _system__restrictions__run_time_restrictions 00410340 ffbff0c0 t _system__wch_stw__get_next_code 0040d09d ffbff0ca T _ada__exceptions__save_occurrence_no_private 0044a030 ffbe30cc N .stab 0040c84d ffbff0cc T _ada__exceptions__exception_name_simple 00410d30 ffbff0d0 T ___gnat_backtrace 0040ed20 ffbff0d0 T ___gnat_stat 00411170 ffbff0d0 T ___register_frame_info_bases 00409580 ffbff0d0 T _ada__text_io__set_line 00411000 ffbff0d0 t _read_encoded_value_with_base 00405b70 ffbff0d0 T _system__file_io__delete 00402cc0 ffbff0d0 T _system__finalization_root___assign__2 00401990 ffbff0d0 T _system__restrictions___elabb 0040d370 ffbff0e0 T ___gnat_malloc 0040d520 ffbff0e0 T ___gnat_realloc 00411290 ffbff0e0 T ___register_frame_info_table_bases 00407a40 ffbff0e0 T _ada__text_io__end_of_file 00408070 ffbff0e0 T _ada__text_io__get_immediate__3 004088a0 ffbff0e0 T _ada__text_io__new_line 004032d0 ffbff0e0 T _system__finalization_implementation___assign 0040bbae ffbff0e3 T _ada__exceptions__exception_data__set_exception_msgXn 00409950 ffbff0f0 T _ada__text_io__skip_page 0040e390 ffbff0f0 T _getc_immediate_common 004034e0 ffbff0f0 T _system__finalization_implementation___assign__2 00404170 ffbff0f0 T _system__finalization_implementation__finalize_one 00410510 ffbff0f0 T _system__wch_stw__string_to_wide_wide_string 004029e0 ffbff100 T _ada__streams___elabs 0041afd0 ffbe8100 B _ada__tags__external_tag_htable__tableXn 00411990 ffbff100 t _add_fdes 004129f0 ffbff100 T _readdir 00403a10 ffbff100 T _system__finalization_implementation__adjust__2 00403ee0 ffbff100 T _system__finalization_implementation__detach_from_final_list 0040f340 ffbff110 T ___gnat_portable_wait 004125c0 ffbff110 T ___udivdi3 00407d30 ffbff110 T _ada__text_io__get 00407e60 ffbff110 T _ada__text_io__get__3 00408d80 ffbff110 T _ada__text_io__put__3 004057f0 ffbff110 T _system__file_io__chain_file 00406e80 ffbff110 T _system__file_io__reset 00410400 ffbff110 T _system__wch_stw__string_to_wide_string 004012b0 ffbff114 T _adainit 004014c0 ffbff120 T ___gnat_set_globals 0040bcc2 ffbff120 T ___gnat_tailored_exception_information 00411870 ffbff120 t _classify_object_over_fdes 00411a90 ffbff120 t _linear_search_fdes 0040fb70 ffbff120 T _system__string_ops__str_concat_cs 004162b4 ffbeb130 R _ada__exceptions__exception_data__betb_headerXn 00409bc0 ffbff130 T _ada__text_io__write__2 0040b342 ffbff133 T _ada__exceptions__exception_data__append_info_stringXn 004218cc ffbe3138 N .stab 00451404 ffbe3138 N .stab 00421794 ffbe3138 N .stab 00416b20 ffbeb140 r .eh_frame 00405ce0 ffbff140 T _system__file_io__finalize__2 0042e514 ffbe3144 N .stab 0042e0ac ffbe3150 N .stab 0040a4a0 ffbff150 T _ada__tags__internal_tag 00409370 ffbff150 T _ada__text_io__set_col 0040ba4f ffbff15f T _ada__exceptions__exception_data__set_exception_c_msgXn 00416448 ffbeb160 r .rdata 004113b0 ffbff160 T ___deregister_frame_info_bases 00410a30 ffbff160 T ___gnat_last_chance_handler 004084f0 ffbff160 T _ada__text_io__get_line__3 00404010 ffbff160 T _system__finalization_implementation__finalize_list 004097c0 ffbff170 T _ada__text_io__skip_line 00405440 ffbff170 T _system__file_io__file_io_clean_up_typeSI__2 0040fc90 ffbff170 T _system__string_ops__str_concat_sc 0040b475 ffbff176 T _ada__exceptions__exception_data__append_info_basic_exception_informationXn 00404690 ffbff180 T _ada__finalization___assign__3 00402670 ffbff180 T _system__exception_table__internal_exception 00403b10 ffbff180 T _system__finalization_implementation__attach_to_final_list 0040f1b0 ffbff190 T ___gnat_portable_no_block_spawn 00409cf0 ffbff190 T _ada__text_io___elabb 004090f0 ffbff190 T _ada__text_io__read__2 004055d0 ffbff190 T _system__file_io___assign__2 004060f0 ffbff190 T _system__file_io__form_parameter 00408350 ffbff1a0 t _ada__text_io__get_line__get_rest__3.0 00401e30 ffbff1a0 T _system__secondary_stack__ss_allocate 00415e44 ffbeb1a8 R _ada__exceptions__null_occurrence 0040be4c ffbff1ad T _ada__exceptions__exception_traces__notify_exceptionXn 004051b0 ffbff1b0 T _system__file_control_block___elabs 0040eb60 ffbff1c0 T ___gnat_get_libraries_from_registry 00408170 ffbff1c0 T _ada__text_io__get_line 0041a1f0 ffbe81c0 B _system__soft_links__nt_tsd 00412130 ffbff1d0 T __Unwind_Find_FDE 00408eb0 ffbff1e0 T _ada__text_io__put_line 00402120 ffbff1e0 T _system__secondary_stack___elabb 00416668 ffbeb1e4 r .rdata 00412800 ffbff1f0 T _opendir 00412390 ffbff200 T ___w32_sharedptr_initialize 0044a804 ffbe3210 N .stab 00417234 ffbeb21c r .eh_frame 0040f8f0 ffbff230 T _system__string_ops__str_concat 0040d600 ffbff230 T _system__string_ops_concat_3__str_concat_3 00405930 ffbff240 T _system__file_io__close 004156ec ffbeb24c r .rdata 0040f460 ffbff250 T ___gnat_locate_regular_file 00415952 ffbeb252 R _ada__text_io__type_setS 00404350 ffbff260 t _system__finalization_implementation__raise_from_finalize 004214f4 ffbe32a0 N .stab 00410630 ffbff2a1 T ___gnat_SEH_error_handler 00402dd0 ffbff300 T _system__finalization_root___elabs 004074d0 ffbff310 T _ada__text_io___elabs 00401610 ffbff310 T _system__restrictions___elabs 0042e1fc ffbe3318 N .stab 00404df0 ffbff330 T _ada__finalization__list_controller___elabs 00421a04 ffbe336c N .stab 00406ff0 ffbff380 T _system__file_io___elabb 004048f0 ffbff3a0 T _ada__finalization___elabs 004035d0 ffbff3d0 T _system__finalization_implementation___elabs 0040c1f6 ffbff409 T _ada__exceptions__stream_attributes__string_to_eoXn 0040feb0 ffbff450 t _system__wch_stw__get_next_code__get_utf_32.0 0041507c ffbeb500 R _system__restrictions__rident__restriction_idS 00416c60 ffbeb538 r .eh_frame 00411bb0 ffbff580 t _search_object 0044a0fc ffbe3708 N .stab 004063e0 ffbff980 T _system__file_io__open 004181d0 ffbea020 B _system__soft_links__nt_exc_stack 0041d000 ffbe74f4 N .stab 0044aa14 ffbe99f0 N .stab 0043eb28 ffbee508 N .stab 00421d70 ffbef33c N .stab 0042e658 ffbf34d0 N .stab ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-10 11:58 ` Rego, P. @ 2013-07-11 9:10 ` Niklas Holsti 2013-07-18 14:09 ` Rego, P. 0 siblings, 1 reply; 25+ messages in thread From: Niklas Holsti @ 2013-07-11 9:10 UTC (permalink / raw) On 13-07-10 13:58 , Rego, P. wrote: > Output "bla.txt" of nm: (For the record, I understand from your preceding message that this is the output of "nm --print-size --size-sort bla.exe".) > 00414176 ffbec001 D ___gl_locking_policy > 00414175 ffbec001 D ___gl_queuing_policy > 00414174 ffbec001 D ___gl_task_dispatching_policy This is starting to look like a bug in your "nm". The three variables above are clearly of size 1 octet (the addresses differ by 1 octet at each step) but the "size" column is not 00000001. An example where the size (of the first object) is evidently 2 octets (I'm quoting these line pairs in address order, not in the original size order): > 00414b36 ffbec002 D _ada__exceptions__exception_traces__nlineXn > 00414b38 ffbec004 D ___gnat_exception_actions_global_action And 3 octets: > 00414b41 ffbec003 D _system__stack_checking__multi_processor > 00414b44 ffbec00c D _system__stack_checking__null_stack_info And 4 octets: > 00414b38 ffbec004 D ___gnat_exception_actions_global_action > 00414b3c ffbec004 D ___gnat_exception_actions_initialized In each case, in the "size" column, the last three hex digits show the correct size, but the first five are "ffbec", clearly wrong for a size value. Sorting the whole listing into address order shows that the first five hex digits of the "size" column behave in a systematic manner: the list starts with 857 lines with "ffbff" in these digits, and all these symbols are of type "t" or "T". The next line is type "D" and has "ffbec" in these digits. I haven't tried to discover any rules for this, since there is evidently a bug in your "nm", producing these incorrect "size" values. -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ . ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-11 9:10 ` Niklas Holsti @ 2013-07-18 14:09 ` Rego, P. 2013-07-18 14:10 ` Rego, P. 0 siblings, 1 reply; 25+ messages in thread From: Rego, P. @ 2013-07-18 14:09 UTC (permalink / raw) On Thursday, July 11, 2013 6:10:05 AM UTC-3, Niklas Holsti wrote: > (For the record, I understand from your preceding message that this is > the output of "nm --print-size --size-sort bla.exe".) Yes. > > 00414176 ffbec001 D ___gl_locking_policy > > 00414175 ffbec001 D ___gl_queuing_policy > > 00414174 ffbec001 D ___gl_task_dispatching_policy > > This is starting to look like a bug in your "nm". The three variables > above are clearly of size 1 octet (the addresses differ by 1 octet at > each step) but the "size" column is not 00000001. I agree. > An example where the size (of the first object) is evidently 2 octets > (I'm quoting these line pairs in address order, not in the original size > order): > > 00414b36 ffbec002 D _ada__exceptions__exception_traces__nlineXn > > 00414b38 ffbec004 D ___gnat_exception_actions_global_action > And 3 octets: > > 00414b41 ffbec003 D _system__stack_checking__multi_processor > > 00414b44 ffbec00c D _system__stack_checking__null_stack_info > And 4 octets: > > 00414b38 ffbec004 D ___gnat_exception_actions_global_action > > 00414b3c ffbec004 D ___gnat_exception_actions_initialized > In each case, in the "size" column, the last three hex digits show the > correct size, but the first five are "ffbec", clearly wrong for a size > value. Yes, it makes sense. > Sorting the whole listing into address order shows that the first five > hex digits of the "size" column behave in a systematic manner: the list > starts with 857 lines with "ffbff" in these digits, and all these > symbols are of type "t" or "T". The next line is type "D" and has > "ffbec" in these digits. I haven't tried to discover any rules for this, > since there is evidently a bug in your "nm", producing these incorrect > "size" values. I will try it with another version to see the results. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-18 14:09 ` Rego, P. @ 2013-07-18 14:10 ` Rego, P. 0 siblings, 0 replies; 25+ messages in thread From: Rego, P. @ 2013-07-18 14:10 UTC (permalink / raw) On Thursday, July 18, 2013 11:09:21 AM UTC-3, Rego, P. wrote: > I will try it with another version to see the results. Actually I now tried with gnat-gpl 2013, using c:\GNAT\2013\bin\nm.exe --print-size --size-sort bla.exe > bla.2013 and between bla.2013 and bla.txt (which I used the old gnat version) there were no differences. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-10 11:57 ` Rego, P. 2013-07-10 11:58 ` Rego, P. @ 2013-07-11 8:35 ` Niklas Holsti 2013-07-12 0:35 ` Randy Brukardt 2013-07-18 15:12 ` Rego, P. 1 sibling, 2 replies; 25+ messages in thread From: Niklas Holsti @ 2013-07-11 8:35 UTC (permalink / raw) On 13-07-10 13:57 , Rego, P. wrote: >>> and the read size of bla.o is 611 bytes. >> What do you mean by "read size"? Perhaps this is a typo, and you meant >> to write "real size"? >> If you mean the total size of the file bla.o (from the directory >> listing, e.g "ls -l"), this is not a useful comparison, because the file >> contains much more data than just the machine code: there are headers, >> symbol tables, and other debug information -- among other things, the >> information that "nm" uses to associate machine code addresses with >> identifier symbols. > > Yes, it is from directory listing. In this case, the 'size' provided > by "ls -l" should be bigger, right? Yes, if you consider only the size of the code ("text" segment). For data, if the program contains uninitialized, statically allocated variables, the file size can be smaller than the "memory image" size, because the .o file only describes those variables (name, size, address or offset) but does not provide values for the variables. >>> Also, if I run >>> nm --print-size --size-sort bla.exe > bla.txt ... >>> but adding the second column, the result (in Excel I convert it >>> to decimal before adding) is 8.61147E+12 and the real bla.exe >>> size is 1512500 bytes, also very different. >> Again, if by "real size" you mean the entire size of the file bla.exe, >> the comparison it not useful, just as for bla.o: bla.exe contains a lot >> more data than just the machine code. > I don't think 8.61147E+12 is irrelevant. The fact that this number is so absurdly large is relevant, and the fact that it is larger than the size of the .o file may be relevant, unless the number includes the size of uninitialized statically allocated data -- see above. Continued in reply to your next message... -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ . ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-11 8:35 ` Niklas Holsti @ 2013-07-12 0:35 ` Randy Brukardt 2013-07-18 15:16 ` Rego, P. 2013-07-18 15:12 ` Rego, P. 1 sibling, 1 reply; 25+ messages in thread From: Randy Brukardt @ 2013-07-12 0:35 UTC (permalink / raw) "Niklas Holsti" <niklas.holsti@tidorum.invalid> wrote in message news:b4791rF6i9hU1@mid.individual.net... > On 13-07-10 13:57 , Rego, P. wrote: >>>> and the read size of bla.o is 611 bytes. >>> What do you mean by "read size"? Perhaps this is a typo, and you meant >>> to write "real size"? >>> If you mean the total size of the file bla.o (from the directory >>> listing, e.g "ls -l"), this is not a useful comparison, because the file >>> contains much more data than just the machine code: there are headers, >>> symbol tables, and other debug information -- among other things, the >>> information that "nm" uses to associate machine code addresses with >>> identifier symbols. >> >> Yes, it is from directory listing. In this case, the 'size' provided >> by "ls -l" should be bigger, right? > > Yes, if you consider only the size of the code ("text" segment). For > data, if the program contains uninitialized, statically allocated > variables, the file size can be smaller than the "memory image" size, > because the .o file only describes those variables (name, size, address > or offset) but does not provide values for the variables. To provide a bit more background: the size of an .o file is correlated to the associated code size, but it (probably) has no relation to the data size at all. (I'm going to explain how Janus/Ada and some ancient C compilers handled these files; I would expect GCC and GNAT to be similar, but I don't know for certain.) .o files have a bunch headers and typcially three segments: .text (which contains code), .data (which contains *initialized* data), and .bss (which contains *uninitialized* data). There is also some relocation information for the code, so the .o file is generally quite a bit larger than contained code alone. For Janus/Ada, we put values of *constants* (string literals, float literals, static aggregates, etc.) into the .data segment, but not any variables. Those all go into the .bss segment. (We did that to support putting the code and constants into EEPROM; the data (in the .bss) is the only part that has to be mapped to RAM.) The .data segment is also present in its entirety in the .o file (it has to be, in order to have those initial values). But the .bss segment is just a header specifying it's size; it has no contents at all and thus contributes almost nothing to the size of the .o file. So for Janus/Ada, an .o file is code size + constants size + headers. The data size doesn't have any impact on the .o file size at all. It's possible that GNAT might put some initialized things into the ".data", but I highly doubt it would do that for anything that is really uninitialized. Hope this clarifies things. Randy. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-12 0:35 ` Randy Brukardt @ 2013-07-18 15:16 ` Rego, P. 0 siblings, 0 replies; 25+ messages in thread From: Rego, P. @ 2013-07-18 15:16 UTC (permalink / raw) On Thursday, July 11, 2013 9:35:23 PM UTC-3, Randy Brukardt wrote: > To provide a bit more background: the size of an .o file is correlated to > the associated code size, but it (probably) has no relation to the data size > at all. > > (I'm going to explain how Janus/Ada and some ancient C compilers handled > these files; I would expect GCC and GNAT to be similar, but I don't know for > certain.) > .o files have a bunch headers and typcially three segments: .text (which > contains code), .data (which contains *initialized* data), and .bss (which > contains *uninitialized* data). There is also some relocation information > for the code, so the .o file is generally quite a bit larger than contained > code alone. > For Janus/Ada, we put values of *constants* (string literals, float > literals, static aggregates, etc.) into the .data segment, but not any > variables. Those all go into the .bss segment. (We did that to support > putting the code and constants into EEPROM; the data (in the .bss) is the > only part that has to be mapped to RAM.) > The .data segment is also present in its entirety in the .o file (it has to > be, in order to have those initial values). But the .bss segment is just a > header specifying it's size; it has no contents at all and thus contributes > almost nothing to the size of the .o file. > So for Janus/Ada, an .o file is code size + constants size + headers. The > data size doesn't have any impact on the .o file size at all. It's possible > that GNAT might put some initialized things into the ".data", but I highly > doubt it would do that for anything that is really uninitialized. > Hope this clarifies things. Certaintly it clarifies, thanks Randy. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-11 8:35 ` Niklas Holsti 2013-07-12 0:35 ` Randy Brukardt @ 2013-07-18 15:12 ` Rego, P. 2013-07-18 17:57 ` Niklas Holsti 2013-07-19 5:02 ` Randy Brukardt 1 sibling, 2 replies; 25+ messages in thread From: Rego, P. @ 2013-07-18 15:12 UTC (permalink / raw) On Thursday, July 11, 2013 5:35:06 AM UTC-3, Niklas Holsti wrote: > Yes, if you consider only the size of the code ("text" segment). For > data, if the program contains uninitialized, statically allocated > variables, the file size can be smaller than the "memory image" size, > because the .o file only describes those variables (name, size, address > or offset) but does not provide values for the variables. Ok. > The fact that this number is so absurdly large is relevant, and the fact > that it is larger than the size of the .o file may be relevant, unless > the number includes the size of uninitialized statically allocated data Ok. Interesting, I run the same code bla.adb on a Unix machine. The first part of the second column (that one which writes ffbec...), and it does not appear here. So the lines look like 00000000 00000001 D ada__exceptions_E However when I add all the column, the result also seems incoherent, around 8GB. The real bla.out generated is ~478kB. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-18 15:12 ` Rego, P. @ 2013-07-18 17:57 ` Niklas Holsti 2013-07-19 5:02 ` Randy Brukardt 1 sibling, 0 replies; 25+ messages in thread From: Niklas Holsti @ 2013-07-18 17:57 UTC (permalink / raw) On 13-07-18 18:12 , Rego, P. wrote: > On Thursday, July 11, 2013 5:35:06 AM UTC-3, Niklas Holsti wrote: >> Yes, if you consider only the size of the code ("text" segment). >> For data, if the program contains uninitialized, statically >> allocated variables, the file size can be smaller than the "memory >> image" size, because the .o file only describes those variables >> (name, size, address or offset) but does not provide values for the >> variables. > Ok. > >> The fact that this number is so absurdly large is relevant, and the >> fact that it is larger than the size of the .o file may be >> relevant, unless the number includes the size of uninitialized >> statically allocated data > Ok. > > Interesting, I run the same code bla.adb on a Unix machine. The first > part of the second column (that one which writes ffbec...), and it > does not appear here. So the lines look like 00000000 00000001 D > ada__exceptions_E That looks better. > However when I add all the column, the result also seems incoherent, > around 8GB. The real bla.out generated is ~478kB. If you send me the new "nm" output, I can have a look and try to understand this 8 GB result. You can use the mail address given under "Contact information" at http://www.tidorum.fi/en/index.html, or the address that my signature below tries to obscure on two lines. -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ . ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-18 15:12 ` Rego, P. 2013-07-18 17:57 ` Niklas Holsti @ 2013-07-19 5:02 ` Randy Brukardt 2013-07-19 13:20 ` Eryndlia Mavourneen 1 sibling, 1 reply; 25+ messages in thread From: Randy Brukardt @ 2013-07-19 5:02 UTC (permalink / raw) "Rego, P." <pvrego@gmail.com> wrote in message news:ca34e347-b53e-4119-b6d1-0cba6f40be79@googlegroups.com... ... > However when I add all the column, the result also seems incoherent, > around 8GB. > The real bla.out generated is ~478kB. I wouldn't expect the *uninitialized* data to have any effect on the size of the .out file, either. The contents of the .o files are combined to create the .out, and I don't think the uninitialized data appears in it, either, just being a length given to the system loader. (That's definitely how it works on Windows, and Windows NT copied [not very well] a lot of Unix stuff, mainly because they started with an existing Unix targeted C compiler.) Randy. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Size optimization for objects 2013-07-19 5:02 ` Randy Brukardt @ 2013-07-19 13:20 ` Eryndlia Mavourneen 0 siblings, 0 replies; 25+ messages in thread From: Eryndlia Mavourneen @ 2013-07-19 13:20 UTC (permalink / raw) On Friday, July 19, 2013 12:02:38 AM UTC-5, Randy Brukardt wrote: > "Rego, P." <pvrego@gmail.com> wrote in message > > news:ca34e347-b53e-4119-b6d1-0cba6f40be79@googlegroups.com... > ... > > However when I add all the column, the result also seems incoherent, > > around 8GB. > > The real bla.out generated is ~478kB. > > I wouldn't expect the *uninitialized* data to have any effect on the size of > the .out file, either. The contents of the .o files are combined to create > the .out, and I don't think the uninitialized data appears in it, either, > just being a length given to the system loader. (That's definitely how it > works on Windows, and Windows NT copied [not very well] a lot of Unix stuff, > mainly because they started with an existing Unix targeted C compiler.) > > Randy. That's also the way it works on VMS and RSX. Depending on the loader, uninitialized data is typically left uninitialized (you get whatever happens to be in that memory location upon loading) or zero-filled. The development of the Win32 kernel, and I suppose a number of other parts of Windows NT, were led by Dave Cutler, who did the design of RSX (on the PDP-11) and then VMS on the VAX (CISC) and Alpha (RISC) machines. This is a big reason you have device driver forking in Windows, which was introduced into RSX-11M first and then later used in VMS, instead of some other scheme (such as privileged, high-priority tasks for processing data emitted by device drivers as used in RSX-11D, also designed by Dave). -- Eryndlia (a.k.a. KK1T) ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2013-07-19 13:20 UTC | newest] Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-06-28 19:49 Size optimization for objects Rego, P. 2013-06-29 7:10 ` Georg Bauhaus 2013-07-01 13:56 ` Rego, P. 2013-07-01 16:49 ` G.B. 2013-06-29 9:48 ` Jack Daniels 2013-07-01 13:58 ` Rego, P. 2013-06-30 11:34 ` rrr.eee.27 2013-07-01 14:35 ` Rego, P. 2013-07-01 15:28 ` Niklas Holsti 2013-07-01 16:35 ` Rego, P. 2013-07-01 18:21 ` Niklas Holsti 2013-07-02 20:32 ` Rego, P. 2013-07-06 16:06 ` Niklas Holsti 2013-07-10 11:57 ` Rego, P. 2013-07-10 11:58 ` Rego, P. 2013-07-11 9:10 ` Niklas Holsti 2013-07-18 14:09 ` Rego, P. 2013-07-18 14:10 ` Rego, P. 2013-07-11 8:35 ` Niklas Holsti 2013-07-12 0:35 ` Randy Brukardt 2013-07-18 15:16 ` Rego, P. 2013-07-18 15:12 ` Rego, P. 2013-07-18 17:57 ` Niklas Holsti 2013-07-19 5:02 ` Randy Brukardt 2013-07-19 13:20 ` Eryndlia Mavourneen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox