* Re: Status of Linuxthreads support in gdb 4.18? [not found] <379EA3DB.58B72C0A@albatross.co.nz> @ 1999-07-28 8:57 ` Jim Blandy [not found] ` <37D82EA1.260A@cygnus.com> 0 siblings, 1 reply; 2+ messages in thread From: Jim Blandy @ 1999-07-28 8:57 UTC (permalink / raw) To: Bryce McKinlay; +Cc: gdb, java-discuss > Can anyone say what is the current status of support for Threads on > Linux in gdb 4.18? It don't exist. I added it to our Code Fusion product, and now I have to find time to merge it into our main sources. From jimb@cygnus.com Wed Jul 28 13:33:00 1999 From: Jim Blandy <jimb@cygnus.com> To: Sekaran Nanja <snanja@cup.hp.com> Cc: Rajiv Mirani <mirani@cup.hp.com>, Mike Vermeulen <mev@hpclhayb.cup.hp.com>, gdb@sourceware.cygnus.com Subject: Re: Regarding Range Table Date: Wed, 28 Jul 1999 13:33:00 -0000 Message-id: <np7lnk1q3k.fsf@zwingli.cygnus.com> References: <37990D39.B393D61B@cup.hp.com> <np908343yh.fsf@zwingli.cygnus.com> <379CCBBD.6E3FC2F3@cup.hp.com> <npn1wi3m05.fsf@zwingli.cygnus.com> <379D1B3A.32B9121B@cup.hp.com> X-SW-Source: 1999-q3/msg00113.html Content-length: 2180 > Jim>It makes more sense to me to add your new info to the struct symbol > Jim>itself, so that value_of_variable can check it and complain > Jim>appropriately. It would be nice to do it in a way which doesn't use > Jim>much space if we don't have this kind of information for the symbol. > > Jim>What do you think? Sekaran> Yes. It makes sense to add this info. to struct symbol to Sekaran> keep things clean but we lose the new info. for an alias Sekaran> symbol containing multiple ranges (Ex: variable has the same Sekaran> home in several distinct ranges.). I think it is better to Sekaran> save these new info. in range_list struct. Please let me know Sekaran> what do you think about this. Oh, I see --- just as a given variable home is valid only in certain code ranges, your critical assignment motion info applies only to certain code ranges. And the ranges for a critical assignment motion record will usually be some arbitrary subset of the variable's home's ranges. So a structure like this would be sufficient: struct symbol { ... contains address class and symbol value ... struct range_list *ranges; ... }; struct range_list { CORE_ADDR start, end; unsigned int set_early : 1; unsigned int set_late : 1; unsigned int unknown : 1; int comes_from_line; int moved_to_line; struct range_list *next; }; Is that enough to accurately represent all the information you have? Does it seem to be a straightforward representation, or is it obscure? Is it possible for both set_early and set_late to be true for a given range? It seems to me that set_late means that the variable is dead, while set_early means that the variable is live, but not live in the way one would expect from reading the source. Aren't set_early, set_late, and unknown all mutually exclusive conditions? If that's true, they should be represented with an enum, not as separate bits. I think comes_from_line and moved_to_line should be CORE_ADDR's, not line numbers. The mapping between source location and code is already represented elsewhere; we shouldn't mix it in here if we don't have to. We should convert them into line numbers when they are output. From snanja@cup.hp.com Wed Jul 28 14:48:00 1999 From: Sekaran Nanja <snanja@cup.hp.com> To: Jim Blandy <jimb@cygnus.com> Cc: Rajiv Mirani <mirani@cup.hp.com>, Mike Vermeulen <mev@hpclhayb.cup.hp.com>, gdb@sourceware.cygnus.com Subject: Re: Regarding Range Table Date: Wed, 28 Jul 1999 14:48:00 -0000 Message-id: <379F7A7F.8A21C4D2@cup.hp.com> References: <37990D39.B393D61B@cup.hp.com> <np908343yh.fsf@zwingli.cygnus.com> <379CCBBD.6E3FC2F3@cup.hp.com> <npn1wi3m05.fsf@zwingli.cygnus.com> <379D1B3A.32B9121B@cup.hp.com> <np7lnk1q3k.fsf@zwingli.cygnus.com> X-SW-Source: 1999-q3/msg00114.html Content-length: 3340 >>Is that enough to accurately represent all the information you have? >>Does it seem to be a straightforward representation, or is it obscure? Yes. This is what I have already started implementing. >>Is it possible for both set_early and set_late to be true for a given >>range? No. >> Aren't set_early, >>set_late, and unknown all mutually exclusive conditions? Yes. >>If that's >>true, they should be represented with an enum, not as separate bits. Yes. I agree. >>I think comes_from_line and moved_to_line should be CORE_ADDR's, not >>line numbers. The mapping between source location and code is already >>represented elsewhere; we shouldn't mix it in here if we don't have >>to. We should convert them into line numbers when they are output. I think either CODE_ADDR or line number is fine for this information. Since HP debug info. format saves this info. as line number, it is preferable to save this info. as line number so that additional processing is not required for both saving as well as displaying. Thanks, Sekaran. Jim Blandy wrote: > > Jim>It makes more sense to me to add your new info to the struct symbol > > Jim>itself, so that value_of_variable can check it and complain > > Jim>appropriately. It would be nice to do it in a way which doesn't use > > Jim>much space if we don't have this kind of information for the symbol. > > > > Jim>What do you think? > > Sekaran> Yes. It makes sense to add this info. to struct symbol to > Sekaran> keep things clean but we lose the new info. for an alias > Sekaran> symbol containing multiple ranges (Ex: variable has the same > Sekaran> home in several distinct ranges.). I think it is better to > Sekaran> save these new info. in range_list struct. Please let me know > Sekaran> what do you think about this. > > Oh, I see --- just as a given variable home is valid only in certain > code ranges, your critical assignment motion info applies only to > certain code ranges. And the ranges for a critical assignment motion > record will usually be some arbitrary subset of the variable's home's > ranges. > > So a structure like this would be sufficient: > > struct symbol { > ... contains address class and symbol value ... > struct range_list *ranges; > ... > }; > > struct range_list { > CORE_ADDR start, end; > > unsigned int set_early : 1; > unsigned int set_late : 1; > unsigned int unknown : 1; > > int comes_from_line; > int moved_to_line; > > struct range_list *next; > }; > > Is that enough to accurately represent all the information you have? > Does it seem to be a straightforward representation, or is it obscure? > > Is it possible for both set_early and set_late to be true for a given > range? It seems to me that set_late means that the variable is dead, > while set_early means that the variable is live, but not live in the > way one would expect from reading the source. Aren't set_early, > set_late, and unknown all mutually exclusive conditions? If that's > true, they should be represented with an enum, not as separate bits. > > I think comes_from_line and moved_to_line should be CORE_ADDR's, not > line numbers. The mapping between source location and code is already > represented elsewhere; we shouldn't mix it in here if we don't have > to. We should convert them into line numbers when they are output. ^ permalink raw reply [flat|nested] 2+ messages in thread
[parent not found: <37D82EA1.260A@cygnus.com>]
* Re: Status of Linuxthreads support in gdb 4.18? [not found] ` <37D82EA1.260A@cygnus.com> @ 1999-11-29 5:47 ` Rok Papez 0 siblings, 0 replies; 2+ messages in thread From: Rok Papez @ 1999-11-29 5:47 UTC (permalink / raw) To: gdb Hi Michael Snyder, Kevin Buettner and Eric Bachalo. First, I'd like to thank you all for helping me :-). On Fri, 10 Sep 1999, Michael Snyder wrote: > > > Can anyone say what is the current status of support for > > > Threads on Linux in gdb 4.18? > > Readers of this newsgroup may be happy to hear that > this merge has been done, and the Linux thread support > patch that has been floating around the net for some time > will be a part of gdb 4.19 whenever that comes out. I downloaded the 1999/11/16 snapshot of insight but it didn't compile becouse of the missing file. As I need LinuxThreads and remote debugging support (gdbserver), could someone please give me a hint what snapshot should I donwload? If insight doesn't work.. what version of plain gdb would work? Btw.: Are there any differences between insight and gdb snapshots in functionality? I was under impression gdb and insight are almost identical except for the GUI part. --------- On Thu, 25 Nov 1999, Eric Bachalo wrote: > There is not much if any thread support, I believe. This may change in the > future but no promises. Is the patch Michael Snyder is talking about already aplied to the CVS (is it in the snapshot I downloaded?) ? If not do you by any chance know where to get it ? Or at least where to get pre-compiled gdb and/or insight and gdbserver for intel linux ? > I am don't know whether DDD has support to use GDB remote debugging I have not > tried it. If you like to use a GUI with GDB, may I suggest that you try > Insight. It is very closely linked with GDB and does support remote > debugging. I did try the insight 1999/11/16 version but it failed to compile with: cd gdb ./configure --prefix=/opt/insight make and then make complains: -- make: *** No rule to make target `../bfd/bfd.h', needed by `blockframe.o'. Stop. -- The needed file doesn't exist. gdbserver did compile, but I'm unsure if it works with gdb-4.17.0.14-1 (the supposedly LinuxThreads enabled gdb version I ran into). -- best regards, Rok Papez. From cgf@cygnus.com Mon Nov 29 09:05:00 1999 From: Chris Faylor <cgf@cygnus.com> To: gdb@sourceware.cygnus.com Subject: Minor change to dcache.c Date: Mon, 29 Nov 1999 09:05:00 -0000 Message-id: <19991129120527.A6056@cygnus.com> X-SW-Source: 1999-q4/msg00353.html Content-length: 1270 I'm working on a project which would benefit from being able to turn on dcache at initialization time, so I'd like to propose the following patch which provides a method for enabling the dcache state via a set_dcache_state() function call. Any objections or comments? -chris Index: gdb/dcache.c =================================================================== RCS file: /cvs/cvsfiles/devo/gdb/dcache.c,v retrieving revision 2.25 diff -u -p -r2.25 dcache.c --- dcache.c 1999/10/15 08:15:30 2.25 +++ dcache.c 1999/11/29 16:42:16 @@ -539,6 +539,12 @@ dcache_info (exp, tty) } void +set_dcache_state (int what) +{ + dcache_enabled_p = what; +} + +void _initialize_dcache () { add_show_from_set Index: gdb/dcache.h =================================================================== RCS file: /cvs/cvsfiles/devo/gdb/dcache.h,v retrieving revision 2.6 diff -u -p -r2.6 dcache.h --- dcache.h 1999/07/07 23:51:05 2.6 +++ dcache.h 1999/11/29 16:42:16 @@ -48,4 +48,8 @@ int dcache_xfer_memory PARAMS ((DCACHE * /* Write the bytes at ADDR into the data cache and the remote machine. */ int dcache_poke_block PARAMS ((DCACHE * cache, CORE_ADDR mem, char *my, int len)); + +/* Turn dcache state on or off */ +void set_dcache_state (int); + #endif /* DCACHE_H */ From daveg@maker.com Mon Nov 29 13:00:00 1999 From: David Golombek <daveg@maker.com> To: gdb@sourceware.cygnus.com Subject: Writing a new simulator Date: Mon, 29 Nov 1999 13:00:00 -0000 Message-id: <21vh6lj9mo.fsf@seattle143.maker.com> X-SW-Source: 1999-q4/msg00354.html Content-length: 1389 I'm examining using the simulator code packaged with GDB for the basis of a new simulator project. I haven't seen much discussion here about the simulator packages, but haven't seen any other lists that might be appropriate. If there is another list, please direct me towards it. I've read through a fair bit of the existing code, and wanted to ask some questions to make sure my assumptions are correct. This work is for a new processor, to which I've already ported the Binutils, GDB, and Gas. This is for a 32bit processor with a lot of special functional units, which are memory mapped. 1) It seems that using either the mips or the v850 code as an example it the best bet, using the same igen framework that they use. T/F? 2) Reading the igen source, as well as the code in 'common', is the only existing documentation on igen. T/F? 3) Is there a good "ramp-up" methodology for writing a simulator, or do I need to write very large parts of it before its useful at all? IE, are there some pieces that I can implement first to get at least a simulator that will run, if not do anything, so that I can do piecewise implementation? 4) Are there any mail archives or any discussion saved anywhere of the previous simulator implementations? Just to give me a heads up on potential pit-falls, etc., that i may run into. Thanks in advance for any suggestions or pointers, DaveG From jason@cygnus.com Mon Nov 29 13:31:00 1999 From: Jason Merrill <jason@cygnus.com> To: Mark Mitchell <mark@codesourcery.com> Cc: per@bothner.com, gcc@gcc.gnu.org, gdb@sourceware.cygnus.com Subject: Re: debugging inline functions Date: Mon, 29 Nov 1999 13:31:00 -0000 Message-id: <u966ylyogs.fsf@yorick.cygnus.com> References: <m2u2m766gs.fsf@magnus.bothner.com> <19991128135119Y.mitchell@codesourcery.com> <m2hfi62rqe.fsf@magnus.bothner.com> <19991128160007P.mitchell@codesourcery.com> X-SW-Source: 1999-q4/msg00355.html Content-length: 580 Per> Still, that is a user-interface issue - i.e. Per> a gdb issue. We should make sure the debug output emits Per> enough information so that the debugger can (in theory) Per> present the call/inline state clearly. I agree that suggests Per> emiting the inlined callee's line numbers. But we should Per> also emit some indication that the function *was* inlined. Per> Does dwarf2 have a defined way to do this? If so, I'd like Per> Gcc to emit it. -- --Per Bothner per@bothner.com GCC already does emit it (in dwarf2). GDB just doesn't use the information. Jason From martin@mira.isdn.cs.tu-berlin.de Mon Nov 29 15:30:00 1999 From: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de> To: mark@codesourcery.com Cc: per@bothner.com, gcc@gcc.gnu.org, gdb@sourceware.cygnus.com Subject: Re: debugging inline functions Date: Mon, 29 Nov 1999 15:30:00 -0000 Message-id: <199911292326.AAA00972@mira.isdn.cs.tu-berlin.de> References: <m2u2m766gs.fsf@magnus.bothner.com> <19991128135119Y.mitchell@codesourcery.com> <m2hfi62rqe.fsf@magnus.bothner.com> <19991128160007P.mitchell@codesourcery.com> X-SW-Source: 1999-q4/msg00356.html Content-length: 249 > Now I see what you're saying. I'm not sure I agree, but I see your > point. FWIW, I agree with Per here. It is quite annoying if the debugger brings you from one inline function to another, and you can't see the caller's code. Regards, Martin ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~1999-11-29 5:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <379EA3DB.58B72C0A@albatross.co.nz>
1999-07-28 8:57 ` Status of Linuxthreads support in gdb 4.18? Jim Blandy
[not found] ` <37D82EA1.260A@cygnus.com>
1999-11-29 5:47 ` Rok Papez
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox