From: Danny S. <dan...@cl...> - 2007-06-15 01:19:12
|
> -----Original Message----- > From: min...@li... > [mailto:min...@li...] On Behalf > Of Brandon Sneed > Sent: Friday, 15 June 2007 12:45 p.m. > To: MinGW Users List > Subject: Re: [Mingw-users] gcc 4.2 w/ gdb issue > > > > On Jun 14, 2007, at 5:35 PM, Pedro Alves wrote: > > > > When gcc sees that it is compiling a function called main, > it inserts > > an invisible call into __main on main's entry, so that the global > > ctors > > are run before any user code in the body of main. What > you're seeing > > may be an interaction with that. > > > > Cheers, > > Pedro Alves > > > > > > interesting! thanks for the heads up. one thing i did forget to > mention is that when its in the form of: > > int main(int argc, const char * argv[]) > > argc has some astronomical value and argv[] is jibberish. > > >From my experience global ctor's often muck up debug of main. Maybe it would help if __main and _do_globl_ctors were not stripped of debug info? Danny > > B > > -------------------------------------------------------------- > ----------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > |
From: Brandon S. <br...@oq...> - 2007-06-15 19:38:49
|
On Jun 14, 2007, at 6:19 PM, Danny Smith wrote: >> On Jun 14, 2007, at 5:35 PM, Pedro Alves wrote: >>> >>> When gcc sees that it is compiling a function called main, >> it inserts >>> an invisible call into __main on main's entry, so that the global >>> ctors >>> are run before any user code in the body of main. What >> you're seeing >>> may be an interaction with that. >>> >>> Cheers, >>> Pedro Alves >>> >>> >> >> interesting! thanks for the heads up. one thing i did forget to >> mention is that when its in the form of: >> >> int main(int argc, const char * argv[]) >> >> argc has some astronomical value and argv[] is jibberish. >> >> > > >> From my experience global ctor's often muck up debug of main. >> Maybe it > would help if __main and _do_globl_ctors were not stripped of debug > info? > Danny the C hello world sample in my original message doesn't have any ctors, so i'm guessing its something else. i did test it against GDB 6.6 just now and the odd gdb behavior is now gone, but argc has still has a value of 2293680 and argv is jibberish still despite no parameters being passed in. i'm going to go out on a limb and say its most likely just my gcc build since i just grabbed the 4.2 sources from gcc.org and built w/o any patches. Brandon Sneed OQO, Inc. |
From: Pedro A. <ped...@po...> - 2007-06-17 19:02:06
|
Brandon Sneed wrote: > > the C hello world sample in my original message doesn't have any > ctors, so i'm guessing its something else. The __main call is always inserted, no matter if you have global objects or not. The compiler doesn't know what you will link the object too. Even when main is compiled in a C object, the __main is emitted to enable the linking of C++ objects/libs with C code. Cheers, Pedro Alves |
From: Brandon S. <br...@oq...> - 2007-06-17 20:04:29
|
On Jun 17, 2007, at 12:01 PM, Pedro Alves wrote: > Brandon Sneed wrote: > >> >> the C hello world sample in my original message doesn't have any >> ctors, so i'm guessing its something else. > > The __main call is always inserted, no matter if you have global > objects > or not. The compiler doesn't know what you will link the object too. > Even when main is compiled in a C object, the __main is emitted to > enable > the linking of C++ objects/libs with C code. > would this affect the values of argc/argv not being valid? gdb 6.6 no longer does the odd stepping behavior, but the parameters for main as they are passed in are unusable. Brandon |
From: Pedro A. <ped...@po...> - 2007-06-17 20:57:22
|
Brandon Sneed wrote: > On Jun 17, 2007, at 12:01 PM, Pedro Alves wrote: > >> Brandon Sneed wrote: >> >>> the C hello world sample in my original message doesn't have any >>> ctors, so i'm guessing its something else. >> The __main call is always inserted, no matter if you have global >> objects >> or not. The compiler doesn't know what you will link the object too. >> Even when main is compiled in a C object, the __main is emitted to >> enable >> the linking of C++ objects/libs with C code. >> > > would this affect the values of argc/argv not being valid? gdb 6.6 > no longer does the odd stepping behavior, but the parameters for main > as they are passed in are unusable. > I've seen this happen before, but after a "next" the parameters would be OK. Isn't that what happens? That is, when the program breaks at main, the args are garbage looking, but after a few (one) steps/nexts they show as excepted? Try printing them using printf, to understand if it is gdb that isn't seeing them properly, or if they are really garbage. Eg, run this under gdb, and step through the printf's and compare to what gdb prints with print/display. int main(int argc, char **argv) { printf ("argc = %d\n"); for (int i = 0; i < argc; i++) { printf ("argv[%d] = %s\n", i, argv[i]); } return 0; } Also, if the problem persists after stepping, if possible, try this with gdb from cvs. Cheers, Pedro Alves |
From: Brandon S. <br...@oq...> - 2007-06-17 21:23:03
|
> I've seen this happen before, but after a "next" the parameters would > be OK. Isn't that what happens? That is, when the program breaks at > main, the args are garbage looking, but after a few (one) steps/nexts > they show as excepted? Try printing them using printf, to > understand if it is gdb that isn't seeing them properly, or if > they are really garbage. Eg, run this under gdb, and step through > the printf's and compare to what gdb prints with print/display. > > int main(int argc, char **argv) > { > printf ("argc = %d\n"); > > for (int i = 0; i < argc; i++) > { > printf ("argv[%d] = %s\n", i, argv[i]); > } > return 0; > } > interesting, here's what i get... argc = 2293608 argv[0] = z:/test/build/debug/test.exe i = 1 at the end of that loop like it should if argc were 1. i'm thoroughly confused. if i run the test.exe outside of the debugger it crashes immediately w/o any output. if i don't touch argc or argv at all, then the test.exe doesn't crash outside of gdb. i'm scared the problem lies in my personal build of GCC and that i'm wasting your time. On the flip side though, if its not just me getting this problem with 4.2, its worth it to continue investigating. ps. thanks so much for taking the time to think about/look at this problem! Brandon |
From: Brandon S. <br...@oq...> - 2007-06-17 21:29:39
|
>> int main(int argc, char **argv) >> { >> printf ("argc = %d\n"); >> >> for (int i = 0; i < argc; i++) >> { >> printf ("argv[%d] = %s\n", i, argv[i]); >> } >> return 0; >> } >> > > interesting, here's what i get... > > argc = 2293608 > argv[0] = z:/test/build/debug/test.exe > > i = 1 at the end of that loop like it should if argc were 1. i'm > thoroughly confused. the first printf was missing ", argc" at the end. sorry, i just noticed that. argc is now showing up as 1 right from the start. running it outside of gdb is also working now with that correction. so it looks to just be a problem with gdb's display of the values then. Brandon |
From: Pedro A. <ped...@po...> - 2007-06-17 22:18:18
|
Brandon Sneed wrote: >>> int main(int argc, char **argv) >>> { >>> printf ("argc = %d\n"); >>> >>> for (int i = 0; i < argc; i++) >>> { >>> printf ("argv[%d] = %s\n", i, argv[i]); >>> } >>> return 0; >>> } >>> >> interesting, here's what i get... >> >> argc = 2293608 >> argv[0] = z:/test/build/debug/test.exe >> >> i = 1 at the end of that loop like it should if argc were 1. i'm >> thoroughly confused. > > the first printf was missing ", argc" at the end. sorry, i just > noticed that. argc is now showing up as 1 right from the start. > running it outside of gdb is also working now with that correction. > so it looks to just be a problem with gdb's display of the values then. > Sorry for that :) But, you didn't answer the question: Does the gdb display keep getting garbled after stepping, or the problem only shows on main entry? What about other functions? Is this a main problem only? Danny, has gcc switched to dwarf debugging by default? Maybe we're getting wrong dwarf output? Someone else will have to confirm this. I can't help much further currently as I don't have a recent gcc build ready. Cheers, Pedro Alves |
From: Brandon S. <br...@oq...> - 2007-06-17 22:29:39
|
>>> interesting, here's what i get... >>> >>> argc = 2293608 >>> argv[0] = z:/test/build/debug/test.exe >>> >>> i = 1 at the end of that loop like it should if argc were 1. i'm >>> thoroughly confused. >> >> the first printf was missing ", argc" at the end. sorry, i just >> noticed that. argc is now showing up as 1 right from the start. >> running it outside of gdb is also working now with that correction. >> so it looks to just be a problem with gdb's display of the values >> then. >> > > Sorry for that :) > > But, you didn't answer the question: Does the gdb display keep > getting garbled after stepping, or the problem only shows on main > entry? > terribly sorry about that. yes, GDB shows garbled values for main's arguments even after stepping. i stepped through the entire main() function and it was garbled the entire time. > What about other functions? Is this a main problem only? yes, its a main problem only based on what i'm seeing here. stepping into or breaking into any other function shows the correct values for that functions arguments. Brandon |
From: Pedro A. <ped...@po...> - 2007-06-17 22:56:07
|
Another quick test you can make. Build that test case with -gstabs+, and then with -gdwarf-2, and run both tests under gdb. The first chooses STABS as debug info format, and the second Dwarf2. I don't know which is the default in your build, but stabs was the default on previous releases. You can also try with different optimization (-Ox) levels. Eg: gcc main.c -o main.exe -O0 -gstabs+ Cheers, Pedro Alves |
From: Jerry C. <iAm...@16...> - 2007-06-18 08:50:23
|
SSB0cnkgdG8gYnVpbGQgZmZwbGF5IHVuZGVyIGN5Z3dpbiwgdGhlIGZmcGxheSBtYWtlIHVzZSBv ZiBTREwgbGlicmFyeSwgDQoNCmdjYyAtV2wsLS13YXJuLWNvbW1vbiAtZyAtbyBmZnBsYXlfZy5l eGUgZmZwbGF5Lm8gY21kdXRpbHMubyAtTC4vbGliYXZmb3JtYXQgLWxhdmZvcm1hdCAtTC4vbGli YXZjb2RlYyAtbGF2Y29kZWMgLUwuL2xpYmF2dXRpbCAtbGF2dXRpbCAtbHogLUwvdXNyL2xvY2Fs L2xpYiAtbG1pbmd3MzIgLWxTRExtYWluIC1sU0RMICAtbW5vLWN5Z3dpbiAtbXdpbmRvd3MNCg0K c29tZWJvZHkgdG9sZCBtZSB0aGF0IC1tbm8tY3lnd2luIG1lYW5zIGN5Z3dpbiBub3cgd2lsbCB1 c2UgZ2NjIG9mIG1pbmd3LCBub3QgZ2NjIG9mIGN5Z3dpbiBpdHNlbGYsIGFuZCB0aGlzIGlzIGRl Y2lkZWQgYnkgU0RMIGl0c2VsZiwgYW5kIGVycm9ycyBvY2N1ciB3aGVuIEkgYnVpbGQgZmZwbGF5 IHdoaWNoIGFyZSBsaXN0ZWQgYmVsb3cNCg0Kd2hhdCBzaG91bGQgSSBkbyBub3c/IHRoYW5rIHlv dS4uLg0KDQptYWtlIC1DIGxpYmF2dXRpbCBhbGwNCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y eSBgL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdnV0 aWwnDQptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwnLg0KbWFrZVsxXTogTGVh dmluZyBkaXJlY3RvcnkgYC9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAw NjA0MDUvbGliYXZ1dGlsJw0KbWFrZSAtQyBsaWJhdmNvZGVjIGFsbA0KbWFrZVsxXTogRW50ZXJp bmcgZGlyZWN0b3J5IGAvaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYw NDA1L2xpYmF2Y29kZWMnDQptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwnLg0K bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9m Zm1wZWdjdnMtMjAwNjA0MDUvbGliYXZjb2RlYycNCm1ha2UgLUMgbGliYXZmb3JtYXQgYWxsDQpt YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9m Zm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQnDQptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRv bmUgZm9yIGBhbGwnLg0KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9ob21lL3N1cGVyYm95 L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQnDQpnY2MgLVdsLC0t d2Fybi1jb21tb24gLWcgLW8gZmZwbGF5X2cuZXhlIGZmcGxheS5vIGNtZHV0aWxzLm8gLUwuL2xp YmF2Zm9ybWF0IC1sYXZmb3JtYXQgLUwuL2xpYmF2Y29kZWMgLWxhdmNvZGVjIC1MLi9saWJhdnV0 aWwgLWxhdnV0aWwgLWx6IC1ML3Vzci9sb2NhbC9saWIgLWxtaW5ndzMyIC1sU0RMbWFpbiAtbFNE TCAgLW1uby1jeWd3aW4gLW13aW5kb3dzDQpjbWR1dGlscy5vOiBJbiBmdW5jdGlvbiBgcGFyc2Vf b3B0aW9ucyc6DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1 L2NtZHV0aWxzLmM6NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2dldHJlZW50Jw0KL2hv bWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9jbWR1dGlscy5jOjgx OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19nZXRyZWVudCcNCmNtZHV0aWxzLm86IEluIGZ1 bmN0aW9uIGBwcmludF9lcnJvcic6DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVn Y3ZzLTIwMDYwNDA1L2NtZHV0aWxzLmM6MTMyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19n ZXRyZWVudCcNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUv Y21kdXRpbHMuYzoxMjQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2dldHJlZW50Jw0KL2hv bWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9jbWR1dGlscy5jOjEy MTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fZ2V0cmVlbnQnDQpjbWR1dGlscy5vOi9ob21l L3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvY21kdXRpbHMuYzoxMjk6 IG1vcmUgdW5kZWZpbmVkIHJlZmVyZW5jZXMgdG8gYF9fX2dldHJlZW50JyBmb2xsb3cNCi4vbGli YXZmb3JtYXQvbGliYXZmb3JtYXQuYShydHNwLm8pOiBJbiBmdW5jdGlvbiBgc2RwX3BhcnNlX2xp bmUnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJh dmZvcm1hdC9ydHNwLmM6MzQ1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW5ldF9hdG9uJw0K L2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1h dC9ydHNwLmM6MjExOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2ltcF9fX2N0eXBlXycNCi9o b21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQv cnRzcC5jOjIxNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBfX19jdHlwZV8nDQouL2xp YmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEocnRzcC5vKTogSW4gZnVuY3Rpb24gYHJ0c3BfcGFyc2Vf bGluZSc6DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xp YmF2Zm9ybWF0L3J0c3AuYzo1OTM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbmV0X2F0b24n DQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEocnRzcC5vKTogSW4gZnVuY3Rpb24gYHJ0c3Bf cmVhZF9wYWNrZXQnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2 MDQwNS9saWJhdmZvcm1hdC9ydHNwLmM6MTA4NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3Nl bGVjdCcNCi4vbGliYXZmb3JtYXQvbGliYXZmb3JtYXQuYShydHNwLm8pOiBJbiBmdW5jdGlvbiBg c2RwX3JlYWRfaGVhZGVyJzoNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMt MjAwNjA0MDUvbGliYXZmb3JtYXQvcnRzcC5jOjEzMDk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YF9pbmV0X250b2EnDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEodXRpbHMubyk6IEluIGZ1 bmN0aW9uIGBhdl9yZWFkX2ZyYW1lJzoNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1w ZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvdXRpbHMuYzoxMDQxOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBfX19hc3NlcnQnDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEodXRpbHMubyk6 IEluIGZ1bmN0aW9uIGBhdl9hZGRfaW5kZXhfZW50cnknOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVn MDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC91dGlscy5jOjExNjI6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYF9fX2Fzc2VydCcNCi4vbGliYXZmb3JtYXQvbGliYXZmb3JtYXQu YSh1dGlscy5vKTogSW4gZnVuY3Rpb24gYGF2X3NlZWtfZnJhbWVfYmluYXJ5JzoNCi9ob21lL3N1 cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvdXRpbHMu YzoxMzE2OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19hc3NlcnQnDQovaG9tZS9zdXBlcmJv eS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3V0aWxzLmM6MTM3 MjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0KL2hvbWUvc3VwZXJib3kvZmZt cGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC91dGlscy5jOjE0MDA6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Fzc2VydCcNCi4vbGliYXZmb3JtYXQvbGliYXZmb3Jt YXQuYSh1dGlscy5vKTovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYw NDA1L2xpYmF2Zm9ybWF0L3V0aWxzLmM6MTMwOTogbW9yZSB1bmRlZmluZWQgcmVmZXJlbmNlcyB0 byBgX19fYXNzZXJ0JyBmb2xsb3cNCi4vbGliYXZmb3JtYXQvbGliYXZmb3JtYXQuYSh1dGlscy5v KTogSW4gZnVuY3Rpb24gYGdldF9mcmFtZV9maWxlbmFtZSc6DQovaG9tZS9zdXBlcmJveS9mZm1w ZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3V0aWxzLmM6Mjk4NDogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBfX19jdHlwZV8nDQouL2xpYmF2Zm9ybWF0L2xpYmF2 Zm9ybWF0LmEodXRpbHMubyk6IEluIGZ1bmN0aW9uIGBwYXJzZV9kYXRlJzoNCi9ob21lL3N1cGVy Ym95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvdXRpbHMuYzoy ODY4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2ltcF9fX2N0eXBlXycNCi4vbGliYXZmb3Jt YXQvbGliYXZmb3JtYXQuYShjdXRpbHMubyk6IEluIGZ1bmN0aW9uIGBzdHJpc3RhcnQnOg0KL2hv bWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9j dXRpbHMuYzo2NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBfX19jdHlwZV8nDQouL2xp YmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEoY3V0aWxzLm8pOiBJbiBmdW5jdGlvbiBgc21hbGxfc3Ry cHRpbWUnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9s aWJhdmZvcm1hdC9jdXRpbHMuYzoxOTI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9faW1wX19f Y3R5cGVfJw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9s aWJhdmZvcm1hdC9jdXRpbHMuYzoxOTI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9faW1wX19f Y3R5cGVfJw0KLi9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5hKGN1dGlscy5vKTovaG9tZS9zdXBl cmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L2N1dGlscy5j OjE5MjogbW9yZSB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byBgX19pbXBfX19jdHlwZV8nIGZvbGxv dw0KLi9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5hKHJ0cHByb3RvLm8pOiBJbiBmdW5jdGlvbiBg cnRwX3JlYWQnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQw NS9saWJhdmZvcm1hdC9ydHBwcm90by5jOjIwMTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3Nl bGVjdCcNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGli YXZmb3JtYXQvcnRwcHJvdG8uYzoyMTg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9yZWN2ZnJv bScNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZm b3JtYXQvcnRwcHJvdG8uYzoyMjE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Vycm5vJw0K L2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1h dC9ydHBwcm90by5jOjIyMTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fZXJybm8nDQouL2xp YmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEobXBlZy5vKTogSW4gZnVuY3Rpb24gYG91dHB1dF9wYWNr ZXQnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJh dmZvcm1hdC9tcGVnLmM6MTA4MDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0K L2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1h dC9tcGVnLmM6MTEzMDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0KL2hvbWUv c3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9tcGVn LmM6MTE0NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0KL2hvbWUvc3VwZXJi b3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9tcGVnLmM6MTEy ODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0KLi9saWJhdmZvcm1hdC9saWJh dmZvcm1hdC5hKG1wZWcubyk6IEluIGZ1bmN0aW9uIGBtcGVnX211eF9lbmQnOg0KL2hvbWUvc3Vw ZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9tcGVnLmM6 MTI1MTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0KLi9saWJhdmZvcm1hdC9s aWJhdmZvcm1hdC5hKGltZzIubyk6IEluIGZ1bmN0aW9uIGBpbWFnZV9wcm9iZSc6DQovaG9tZS9z dXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L2ltZzIu Yzo5NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBfX19jdHlwZV8nDQouL2xpYmF2Zm9y bWF0L2xpYmF2Zm9ybWF0LmEoaW1nMi5vKTogSW4gZnVuY3Rpb24gYGF2X2d1ZXNzX2ltYWdlMl9j b2RlYyc6DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xp YmF2Zm9ybWF0L2ltZzIuYzo5NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBfX19jdHlw ZV8nDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEoaW1nMi5vKTogSW4gZnVuY3Rpb24gYGlt Z19yZWFkX2hlYWRlcic6DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIw MDYwNDA1L2xpYmF2Zm9ybWF0L2ltZzIuYzo5NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19p bXBfX19jdHlwZV8nDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEodWRwLm8pOiBJbiBmdW5j dGlvbiBgdWRwX29wZW4nOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0y MDA2MDQwNS9saWJhdmZvcm1hdC91ZHAuYzozMzk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9z b2NrZXQnDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xp YmF2Zm9ybWF0L3VkcC5jOjM1MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2JpbmQnDQovaG9t ZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3Vk cC5jOjM1NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2dldHNvY2tuYW1lJw0KL2hvbWUvc3Vw ZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC91ZHAuYzoz NjQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9zZXRzb2Nrb3B0Jw0KL2hvbWUvc3VwZXJib3kv ZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC91ZHAuYzo0MDQ6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9zZXRzb2Nrb3B0Jw0KL2hvbWUvc3VwZXJib3kvZmZtcGVn MDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC91ZHAuYzozNzQ6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYF9zZXRzb2Nrb3B0Jw0KLi9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5h KHVkcC5vKTogSW4gZnVuY3Rpb24gYHVkcF9yZWFkJzoNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2 MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvdWRwLmM6NDM1OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBfcmVjdmZyb20nDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZt cGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3VkcC5jOjQzODogdW5kZWZpbmVkIHJlZmVyZW5j ZSB0byBgX19fZXJybm8nDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIw MDYwNDA1L2xpYmF2Zm9ybWF0L3VkcC5jOjQzODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19f ZXJybm8nDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEodWRwLm8pOiBJbiBmdW5jdGlvbiBg dWRwX3dyaXRlJzoNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0 MDUvbGliYXZmb3JtYXQvdWRwLmM6NDUzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfc2VuZHRv Jw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZv cm1hdC91ZHAuYzo0NjE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Vycm5vJw0KL2hvbWUv c3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC91ZHAu Yzo0NjE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Vycm5vJw0KLi9saWJhdmZvcm1hdC9s aWJhdmZvcm1hdC5hKHVkcC5vKTogSW4gZnVuY3Rpb24gYHVkcF9jbG9zZSc6DQovaG9tZS9zdXBl cmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3VkcC5jOjQ3 NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3NldHNvY2tvcHQnDQouL2xpYmF2Zm9ybWF0L2xp YmF2Zm9ybWF0LmEodGNwLm8pOiBJbiBmdW5jdGlvbiBgcmVzb2x2ZV9ob3N0JzoNCi9ob21lL3N1 cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvdGNwLmM6 NDU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbmV0X2F0b24nDQovaG9tZS9zdXBlcmJveS9m Zm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3RjcC5jOjQ2OiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBfZ2V0aG9zdGJ5bmFtZScNCi4vbGliYXZmb3JtYXQvbGliYXZm b3JtYXQuYSh0Y3Aubyk6IEluIGZ1bmN0aW9uIGB0Y3Bfb3Blbic6DQovaG9tZS9zdXBlcmJveS9m Zm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3RjcC5jOjQ1OiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBfaW5ldF9hdG9uJw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYw NDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC90Y3AuYzo4NTogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgX3NvY2tldCcNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdj dnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvdGNwLmM6ODg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YF9mY250bCcNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUv bGliYXZmb3JtYXQvdGNwLmM6OTE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9jb25uZWN0Jw0K L2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1h dC90Y3AuYzo5NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fZXJybm8nDQovaG9tZS9zdXBl cmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3RjcC5jOjk2 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19lcnJubycNCi9ob21lL3N1cGVyYm95L2ZmbXBl ZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvdGNwLmM6MTEwOiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBfc2VsZWN0Jw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2Zm bXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC90Y3AuYzoxMTc6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYF9nZXRzb2Nrb3B0Jw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2 cy0yMDA2MDQwNS9saWJhdmZvcm1hdC90Y3AuYzo0NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg X2dldGhvc3RieW5hbWUnDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEodGNwLm8pOiBJbiBm dW5jdGlvbiBgdGNwX3JlYWQnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2 cy0yMDA2MDQwNS9saWJhdmZvcm1hdC90Y3AuYzoxNDg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YF9zZWxlY3QnDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1 L2xpYmF2Zm9ybWF0L3RjcC5jOjE1NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fZXJybm8n DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9y bWF0L3RjcC5jOjE1NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fZXJybm8nDQovaG9tZS9z dXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L3RjcC5j OjE2MDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fZXJybm8nDQouL2xpYmF2Zm9ybWF0L2xp YmF2Zm9ybWF0LmEodGNwLm8pOiBJbiBmdW5jdGlvbiBgdGNwX3dyaXRlJzoNCi9ob21lL3N1cGVy Ym95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvdGNwLmM6MTg1 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfc2VsZWN0Jw0KL2hvbWUvc3VwZXJib3kvZmZtcGVn MDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC90Y3AuYzoxOTM6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYF9fX2Vycm5vJw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2Zm bXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC90Y3AuYzoxOTM6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYF9fX2Vycm5vJw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0y MDA2MDQwNS9saWJhdmZvcm1hdC90Y3AuYzoxOTc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9f X2Vycm5vJw0KLi9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5hKGh0dHAubyk6IEluIGZ1bmN0aW9u IGBodHRwX29wZW4nOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2 MDQwNS9saWJhdmZvcm1hdC9odHRwLmM6MTUzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2lt cF9fX2N0eXBlXycNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0 MDUvbGliYXZmb3JtYXQvaHR0cC5jOjE3MDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBf X19jdHlwZV8nDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1 L2xpYmF2Zm9ybWF0L2h0dHAuYzoyMTE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9zbGVlcCcN Ci4vbGliYXZmb3JtYXQvbGliYXZmb3JtYXQuYShudXQubyk6IEluIGZ1bmN0aW9uIGB1cGRhdGVf cGFja2V0aGVhZGVyJzoNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAw NjA0MDUvbGliYXZmb3JtYXQvbnV0LmM6NDk4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19h c3NlcnQnDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEobnV0Lm8pOiBJbiBmdW5jdGlvbiBg bnV0X3dyaXRlX2hlYWRlcic6DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3Zz LTIwMDYwNDA1L2xpYmF2Zm9ybWF0L251dC5jOjU0NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg X19fYXNzZXJ0Jw0KLi9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5hKG51dC5vKTogSW4gZnVuY3Rp b24gYG51dF93cml0ZV9wYWNrZXQnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBl Z2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9udXQuYzo3NTQ6IHVuZGVmaW5lZCByZWZlcmVuY2Ug dG8gYF9fX2Fzc2VydCcNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAw NjA0MDUvbGliYXZmb3JtYXQvbnV0LmM6NzQ3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19h c3NlcnQnDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xp YmF2Zm9ybWF0L251dC5jOjcyODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0K Li9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5hKG51dC5vKTovaG9tZS9zdXBlcmJveS9mZm1wZWcw NjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L251dC5jOjgwODogbW9yZSB1bmRl ZmluZWQgcmVmZXJlbmNlcyB0byBgX19fYXNzZXJ0JyBmb2xsb3cNCi4vbGliYXZmb3JtYXQvbGli YXZmb3JtYXQuYShhdWRpby5vKTogSW4gZnVuY3Rpb24gYGF1ZGlvX29wZW4nOg0KL2hvbWUvc3Vw ZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9hdWRpby5j Ojg5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW9jdGwnDQovaG9tZS9zdXBlcmJveS9mZm1w ZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L2F1ZGlvLmM6MTIxOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBfaW9jdGwnDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUv ZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L2F1ZGlvLmM6MTI4OiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBfaW9jdGwnDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3Zz LTIwMDYwNDA1L2xpYmF2Zm9ybWF0L2F1ZGlvLmM6MTM3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGBfaW9jdGwnDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1 L2xpYmF2Zm9ybWF0L2F1ZGlvLmM6Nzc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9mY250bCcN Ci4vbGliYXZmb3JtYXQvbGliYXZmb3JtYXQuYShhdWRpby5vKTogSW4gZnVuY3Rpb24gYGF1ZGlv X3dyaXRlX3BhY2tldCc6DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIw MDYwNDA1L2xpYmF2Zm9ybWF0L2F1ZGlvLmM6MTkzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBf X19lcnJubycNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUv bGliYXZmb3JtYXQvYXVkaW8uYzoxOTM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Vycm5v Jw0KLi9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5hKGF1ZGlvLm8pOiBJbiBmdW5jdGlvbiBgYXVk aW9fcmVhZF9wYWNrZXQnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0y MDA2MDQwNS9saWJhdmZvcm1hdC9hdWRpby5jOjI2NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg X3NlbGVjdCcNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUv bGliYXZmb3JtYXQvYXVkaW8uYzoyNzc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Vycm5v Jw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZv cm1hdC9hdWRpby5jOjI3NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fZXJybm8nDQovaG9t ZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L2F1 ZGlvLmM6MjcxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19lcnJubycNCi9ob21lL3N1cGVy Ym95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvYXVkaW8uYzoy NzE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Vycm5vJw0KL2hvbWUvc3VwZXJib3kvZmZt cGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9hdWRpby5jOjI4NzogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgX2lvY3RsJw0KLi9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5h KGZsdmVuYy5vKTogSW4gZnVuY3Rpb24gYGZsdl93cml0ZV9wYWNrZXQnOg0KL2hvbWUvc3VwZXJi b3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9mbHZlbmMuYzox NDg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Fzc2VydCcNCi9ob21lL3N1cGVyYm95L2Zm bXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvZmx2ZW5jLmM6MTUxOiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19hc3NlcnQnDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9y bWF0LmEobW92ZW5jLm8pOiBJbiBmdW5jdGlvbiBgbW92X3dyaXRlX3N0YmxfdGFnJzoNCi9ob21l L3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvbW92 ZW5jLmM6NjIwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19hc3NlcnQnDQovaG9tZS9zdXBl cmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L21vdmVuYy5j OjQ1OTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0KL2hvbWUvc3VwZXJib3kv ZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmZvcm1hdC9tb3ZlbmMuYzo0NjA6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Fzc2VydCcNCi4vbGliYXZmb3JtYXQvbGliYXZm b3JtYXQuYShtb3ZlbmMubyk6L2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0y MDA2MDQwNS9saWJhdmZvcm1hdC9tb3ZlbmMuYzoxNjg0OiBtb3JlIHVuZGVmaW5lZCByZWZlcmVu Y2VzIHRvIGBfX19hc3NlcnQnIGZvbGxvdw0KLi9saWJhdmZvcm1hdC9saWJhdmZvcm1hdC5hKGF2 aWVuYy5vKTogSW4gZnVuY3Rpb24gYGNvZGVjX2dldF9pZCc6DQovaG9tZS9zdXBlcmJveS9mZm1w ZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L2F2aWVuYy5jOjIzNTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBfX19jdHlwZV8nDQouL2xpYmF2Zm9ybWF0L2xpYmF2 Zm9ybWF0LmEoYXZpZW5jLm8pOiBJbiBmdW5jdGlvbiBgY29kZWNfZ2V0X2JtcF9pZCc6DQovaG9t ZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Zm9ybWF0L2F2 aWVuYy5jOjIzNTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBfX19jdHlwZV8nDQouL2xp YmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEoYXZpZW5jLm8pOiBJbiBmdW5jdGlvbiBgY29kZWNfZ2V0 X3dhdl9pZCc6DQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1 L2xpYmF2Zm9ybWF0L2F2aWVuYy5jOjIzNTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pbXBf X19jdHlwZV8nDQouL2xpYmF2Zm9ybWF0L2xpYmF2Zm9ybWF0LmEoYXNmLm8pOiBJbiBmdW5jdGlv biBgYXNmX3JlYWRfcGFja2V0JzoNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdj dnMtMjAwNjA0MDUvbGliYXZmb3JtYXQvYXNmLmM6NDg5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGBfX19hc3NlcnQnDQovaG9tZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYw NDA1L2xpYmF2Zm9ybWF0L2FzZi5jOjU5MTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNz ZXJ0Jw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJh dmZvcm1hdC9hc2YuYzo1NzU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Fzc2VydCcNCi4v bGliYXZmb3JtYXQvbGliYXZmb3JtYXQuYShhc2Yubyk6IEluIGZ1bmN0aW9uIGBhc2ZfcmVhZF9w dHMnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJh dmZvcm1hdC9hc2YuYzo4MTM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Fzc2VydCcNCi4v bGliYXZmb3JtYXQvbGliYXZmb3JtYXQuYShvZ2dwYXJzZXZvcmJpcy5vKTogSW4gZnVuY3Rpb24g YHZvcmJpc19jb21tZW50JzoNCi9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMt MjAwNjA0MDUvbGliYXZmb3JtYXQvb2dncGFyc2V2b3JiaXMuYzo4MzogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgX19pbXBfX19jdHlwZV8nDQouL2xpYmF2Y29kZWMvbGliYXZjb2RlYy5hKHV0aWxz Lm8pOiBJbiBmdW5jdGlvbiBgYXZjb2RlY19zdHJpbmcnOg0KL2hvbWUvc3VwZXJib3kvZmZtcGVn MDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmNvZGVjL3V0aWxzLmM6MTA5MTogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgX19pbXBfX19jdHlwZV8nDQouL2xpYmF2Y29kZWMvbGliYXZjb2Rl Yy5hKHV0aWxzLm8pOiBJbiBmdW5jdGlvbiBgYXZfbG9nX2RlZmF1bHRfY2FsbGJhY2snOg0KL2hv bWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmNvZGVjL3V0 aWxzLmM6MTMwMzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fZ2V0cmVlbnQnDQovaG9tZS9z dXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Y29kZWMvdXRpbHMu YzoxMjk3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19nZXRyZWVudCcNCi4vbGliYXZjb2Rl Yy9saWJhdmNvZGVjLmEodXRpbHMubyk6IEluIGZ1bmN0aW9uIGBhdl90ZW1wZmlsZSc6DQovaG9t ZS9zdXBlcmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Y29kZWMvdXRp bHMuYzoxMzc4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfbWtzdGVtcCcNCi9ob21lL3N1cGVy Ym95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZjb2RlYy91dGlscy5jOjEz ODE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9ta3N0ZW1wJw0KLi9saWJhdmNvZGVjL2xpYmF2 Y29kZWMuYShtZW0ubyk6IEluIGZ1bmN0aW9uIGBhdl9tYWxsb2MnOg0KL2hvbWUvc3VwZXJib3kv ZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmNvZGVjL21lbS5jOjYyOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBfbWVtYWxpZ24nDQouL2xpYmF2Y29kZWMvbGliYXZjb2RlYy5h KG1wZWd2aWRlby5vKTogSW4gZnVuY3Rpb24gYE1QVl9jb21tb25faW5pdCc6DQovaG9tZS9zdXBl cmJveS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Y29kZWMvbXBlZ3ZpZGVv LmM6NjkxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2ltcF9fX2N0eXBlXycNCi9ob21lL3N1 cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZjb2RlYy9tcGVndmlk ZW8uYzo2OTY6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9faW1wX19fY3R5cGVfJw0KLi9saWJh dmNvZGVjL2xpYmF2Y29kZWMuYShzdnExLm8pOiBJbiBmdW5jdGlvbiBgZW5jb2RlX2Jsb2NrJzoN Ci9ob21lL3N1cGVyYm95L2ZmbXBlZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZjb2Rl Yy9zdnExLmM6MTAwMTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0KL2hvbWUv c3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmNvZGVjL3N2cTEu YzoxMDcwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX19hc3NlcnQnDQovaG9tZS9zdXBlcmJv eS9mZm1wZWcwNjA0MDUvZmZtcGVnY3ZzLTIwMDYwNDA1L2xpYmF2Y29kZWMvc3ZxMS5jOjEwNjA6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2Fzc2VydCcNCi9ob21lL3N1cGVyYm95L2ZmbXBl ZzA2MDQwNS9mZm1wZWdjdnMtMjAwNjA0MDUvbGliYXZjb2RlYy9zdnExLmM6MTA1OTogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgX19fYXNzZXJ0Jw0KL2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1 L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmNvZGVjL3N2cTEuYzoxMDU4OiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBfX19hc3NlcnQnDQouL2xpYmF2Y29kZWMvbGliYXZjb2RlYy5hKHN2cTEubyk6 L2hvbWUvc3VwZXJib3kvZmZtcGVnMDYwNDA1L2ZmbXBlZ2N2cy0yMDA2MDQwNS9saWJhdmNvZGVj L3N2cTEuYzoxMDU3OiBtb3JlIHVuZGVmaW5lZCByZWZlcmVuY2VzIHRvIGBfX19hc3NlcnQnIGZv bGxvdw0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCm1ha2U6ICoqKiBbZmZw bGF5X2cuZXhlXSBFcnJvciAxDQo= |
From: Pedro A. <ped...@po...> - 2007-06-17 19:02:56
|
Danny Smith wrote: > >> On Jun 14, 2007, at 5:35 PM, Pedro Alves wrote: >>> When gcc sees that it is compiling a function called main, >> it inserts >>> an invisible call into __main on main's entry, so that the global >>> ctors >>> are run before any user code in the body of main. What >> you're seeing >>> may be an interaction with that. >>> >> interesting! thanks for the heads up. one thing i did forget to >> mention is that when its in the form of: >> >> int main(int argc, const char * argv[]) >> >> argc has some astronomical value and argv[] is jibberish. Probably the OP's breakpoint was set at an address where the prologue isn't fully finished, and the sp and/or fp insn't setup as gdb excepted it to. > >>From my experience global ctor's often muck up debug of main. Maybe it > would help if __main and _do_globl_ctors were not stripped of debug > info? > I don't think so, but you are in a good position to test that :) I came across this a few months ago trying to run the gdb testsuite. It has to do with line number info. I came up with the two patches in the threads below against gdb and gcc, which I still use. The first link points into an explanation of the problem. [break $function in coff/pe doesn't break exactly before the first statement?] http://sources.redhat.com/ml/gdb/2006-11/msg00138.html The gdb patch: [i386_skip_prologue] http://sources.redhat.com/ml/gdb-patches/2006-12/msg00140.html The gcc patch: [Line info in the presence of __main, and NOTE_INSN_FUNCTION_BEG after scheduling.] http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00633.html I think the gcc patch won't work exactly as is because I seem to remember that NOTE_INSN_FUNCTION_BEG was removed. I've never updated my gcc trunk past rev 119115 :) On the gdb side, it was rejected in favor of enhancing the prologue reader to understand the __main call on main. I went a month without internet after submitting those patches, and then I never got around to pushing them further. I still use them locally for the gdb testing. Cheers, Pedro Alves |
From: Brian D. <br...@de...> - 2007-06-18 10:52:39
|
Jerry Chu wrote: > I try to build ffplay under cygwin, the ffplay make use of SDL library, Start a new thread please, don't just reply to a completely unrelated one and change the subject. Your message is still attached to the unrelated thread for anyone using a threaded mail reader and on the numerous web archives. > gcc -Wl,--warn-common -g -o ffplay_g.exe ffplay.o cmdutils.o -L./libavformat -lavformat -L./libavcodec -lavcodec -L./libavutil -lavutil -lz -L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mno-cygwin -mwindows > cmdutils.o: In function `parse_options': > /home/superboy/ffmpeg060405/ffmpegcvs-20060405/cmdutils.c:74: undefined reference to `___getreent' This looks like you're trying to mix Cygwin and MinGW objects in the final .exe. That will never work. In other words, if you use -mno-cygwin then you must use it for every object and every library that you link to. These unresolved symbols in your error messages are Cygwin functions that don't exist on MinGW, which means you've got some stuff in there that's built without -mno-cygwin. There really is no half-way about it, using -mno-cygwin is like a cross compile; you can't just use it some of the time or for selected parts. All or nothing. Brian |
From: Keith M. <kei...@us...> - 2007-06-18 21:52:47
|
On Monday 18 June 2007 11:52, Brian Dessent wrote: > Jerry Chu wrote: > > I try to build ffplay under cygwin, the ffplay make use of SDL > > library, > > Start a new thread please, don't just reply to a completely unrelated > one and change the subject. =A0Your message is still attached to the > unrelated thread for anyone using a threaded mail reader and on the > numerous web archives. Thanks Brian, for taking Jerry to task over this; if you hadn't, I most=20 certainly would have done. And to Jerry, and anyone else who still doesn't get this: you are not=20 just pissing me off, when you engage in this anti-social behaviour; you=20 are adversely prejudicing your own chances of having your question=20 answered. Consider this: 1) I'm reading your message in K-Mail, a thread aware mail client which=20 I've configured so that it automatically collapses threads containing=20 no unread messages. 2) I see your message, when it first arrives, and I think: "I may have=20 something useful to contribute to this, but just now I have something=20 more pressing to deal with; I'll come back to it". 3) I move on to a message in a different thread, and the one containing=20 your message collapses, so only its lead-in message remains visible in=20 my client's reader pane. You buried your message in the bowels of an=20 unrelated thread, so your message, and more importantly its *subject*=20 header is now completely invisible to me. 4) I finish my other task and think: "I'll go back to that other message=20 now. Let's see; where was it"? Oh dear. I didn't really take note of=20 which unrelated thread you concealed it in. It's now become completely=20 invisible, and searching for it just isn't worth the effort. Too bad;=20 *you* are the loser. Regards, Keith. |