* Huge Apple gdb code dropping^H^H^H^H @ 2001-11-29 0:59 ` Jason Molenda 2001-11-24 6:24 ` Jason Molenda ` (5 more replies) 0 siblings, 6 replies; 24+ messages in thread From: Jason Molenda @ 2001-11-29 0:59 UTC (permalink / raw) To: gdb Hi gdb'ers, Apple maintains a modified version of gdb for their Mach/BSD based OS, MacOS X. As I understand it, this gdb was inherited from a port done and maintained at NeXT many moons ago (shout out to Michael), so it's got a lot of history. We have an assignment to the FSF all signed these days, but we haven't had time to get the patches into an appropriate form for submission. Andrew wants to get these patches exposed to the light of day, and even though we're plugging away at getting some clean submissions put together, he wants the whole enchilada out there. I'm always happy to oblige Andrew, so I've done this. I want to note that I am creating this patch under duress. :-) I think this patch is wholly useless and the only thing accomplished by assembling it is to keep me from watching TV for an evening. A useful result, I'll admit, but I think that's all we'll see. Here are some of the reasons I believe this patch is useless: The gdb sources have been in cvs for less than two years - before that I've heard files were touched by hand. There is a lot of cruft in here; there are pointless changes, changes that are wrong, changes that seem to have been made by aliens from another planet, changes that will serve as humor if you're in the right mood. There are changes for things I've never heard of - what's a Motorola 98k series processor, anyway? Why in the world was bfd/cpu-i960.c changed in our sources? These and many other mysteries await the adventurous diff reader. The most recent FSF -> Apple merge that had taken place with these sources was November 2000. We did our first import of year 2001 just last month. Our trunk is not stable after this mondo merge, so I wanted to send these patches which are to the older, working version of gdb. Applying this is not easy. The gdb repository on sourceware was originally imports from the Cygnus repository, which Stan and I would do periodically. For files that didn't have a real checkin after these imports were ended, doing a "cvs co -D 2000-11-13" will give you the 1.1 version, not the correct import version. When doing my initial sanity checks, I had to run some scripts over my checkout of the FSF sources to get a real vision of what the gdb sources looked like on 2000-11-13. The testsuite has been utterly ignored. It's a mess, you'll get 400-800 test failures if you can get it to work at all. I gather tcl+expect+dejagnu could crash the early versions of MacOS X, so not a lot of time has been spent on the testsuite yet. (they no longer crash the OS, BTW) Last I checked, our sources won't even build on non-MacOS X hosts. You'll need to create a gdb-next and gdb-next/display-support directories (gdb-next is a sibling of gdb/) before applying the patch. This is where all the host support exists. Very very very few ChangeLog entries, and the vast majority of the cvs commit messages are empty as well. This is almost certainly a one-time snapshot. If people really want to see what's up with the Apple sources on a continuing basis, the work is all happening on publically visible cvs servers. We require developers to get a login through a registration form, but that's a one-time annoyance which people can suffer through. I may put together a similar diff of our current trunk sources (which are being regularly merged with current FSF sources) after they've become a bit more stable. To make everyone's lives easier, I'm also providing a copy of the stable Apple gdb sources in a plain tar file. You may prefer the diffs for browsing, but you'll prefer the plain tar file if you're thinking of building this. With all that said, why would you want this? Well, one thing is that we're getting this all officially on the record as existing. Apple has talked about submitting things for ages, and I think we really are close to starting, but it doesn't hurt to throw this out there. All of the Objective C gdb support should be in this file, in one way or another, and I know folks are interested in that. You should be able to build the tar file easily on a MacOS X 10.1 system. You'll need to configure with --enable-gdbmi, but that's the only oddity that comes to mind right away (some UI_OUT code isn't guarded with ifdefs). For people not familiar, basic background: Mach is the kernel, BSD sits on top of that, the two combined seem to be called "Darwin". Our gdb has to handle both Mach signals and POSIX signals, and that adds a lot of complication. Apple has an integrated development environment with a GUI debugger interface, which talks to gdb via MI. A fair amount of work has gone into tweaking MI, and none of it has gone into matching changes to the testsuite - cf earlier statement about 400-800 failures. Darwin runs mostly on PPC and x86, although I gather it can be made to work on other processors with enough patience. Most of our work at Apple is on the PPC side of things. Objective C is a version of C with classes from NeXT. It uses brackets a lot, and its programmers think it's a great language. :-) Most importantly to gdb, ObjC names have no mangled form and have lots of spaces in them - you'll see symbol names like "-[NSExcpetion raise]" and that's how it looks at all stages of compilation/reading. The object file format is called MachO. I don't know much about it, it appears pretty divergent from everything else I've seen. Apple has its own linker and assembler (based on old circa 1.35 gas gld) with little resemblance to their modern counterparts. There are some bfd changes to handle MachO object file reading, and they work well enough for gdb, but binutils itself is dodgy at best on Darwin. Shared libraries are called "dylibs", and MacOS has some system of libraries called "frameworks". I don't really understand what Frameworks are all about - some kind of conglomeration of libraries and includes for a particular facility. I think X windows would be a Framework, for instance. You'll notice that our gdb depends on electric-fence, a GPL memory guard program included in the sources, but there's no real dependency; no one has gotten around to taking out the dependency and removing the directory from our gdb module. Ah, as an aside, I created this patch with the "-w" flag to diff to suppress whitespace diffs. You'd be surprised how many unnecessary whitespace diffs were in the sources. Here is the patch: ftp://sources.redhat.com/pub/gdb/contrib/apple-puma-branch-vs-fsf-2000-11-13.diffs.bz2 And here is the tarball: ftp://sources.redhat.com/pub/gdb/contrib/apple-puma-branch.tar.bz2 Apple has an anoncvs server where you can get all of this for yourself, look at http://www.opensource.apple.com/ . You have to register to get access to the anoncvs server (don't blame me, I agree that it's weak), but I've heard it's a trivial little web form where you provide a name and other information of optional veracity, and it gives you access to the sources. BTW I've heard our cvs server is offline currently due to some problems or something, so don't run right out and be surprised when there is a problem. I'd assume it'll be back within the next week, but I know nothing about what's up. Feel free to ask questions, but questions that begin with "What the hell is <crap crap crap> doing in file <shouldn't-be-touching-this>.c" will not rate very high on my daily TODO list to reply to. With luck, we'll have some real patch submissions in the near future and this patch can fade into our distant memories. Jason Free the Software! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Huge Apple gdb code dropping^H^H^H^H 2001-11-29 0:59 ` Huge Apple gdb code dropping^H^H^H^H Jason Molenda @ 2001-11-24 6:24 ` Jason Molenda 2001-11-25 0:39 ` Jason Molenda ` (4 subsequent siblings) 5 siblings, 0 replies; 24+ messages in thread From: Jason Molenda @ 2001-11-24 6:24 UTC (permalink / raw) To: gdb Hi gdb'ers, Apple maintains a modified version of gdb for their Mach/BSD based OS, MacOS X. As I understand it, this gdb was inherited from a port done and maintained at NeXT many moons ago (shout out to Michael), so it's got a lot of history. We have an assignment to the FSF all signed these days, but we haven't had time to get the patches into an appropriate form for submission. Andrew wants to get these patches exposed to the light of day, and even though we're plugging away at getting some clean submissions put together, he wants the whole enchilada out there. I'm always happy to oblige Andrew, so I've done this. I want to note that I am creating this patch under duress. :-) I think this patch is wholly useless and the only thing accomplished by assembling it is to keep me from watching TV for an evening. A useful result, I'll admit, but I think that's all we'll see. Here are some of the reasons I believe this patch is useless: The gdb sources have been in cvs for less than two years - before that I've heard files were touched by hand. There is a lot of cruft in here; there are pointless changes, changes that are wrong, changes that seem to have been made by aliens from another planet, changes that will serve as humor if you're in the right mood. There are changes for things I've never heard of - what's a Motorola 98k series processor, anyway? Why in the world was bfd/cpu-i960.c changed in our sources? These and many other mysteries await the adventurous diff reader. The most recent FSF -> Apple merge that had taken place with these sources was November 2000. We did our first import of year 2001 just last month. Our trunk is not stable after this mondo merge, so I wanted to send these patches which are to the older, working version of gdb. Applying this is not easy. The gdb repository on sourceware was originally imports from the Cygnus repository, which Stan and I would do periodically. For files that didn't have a real checkin after these imports were ended, doing a "cvs co -D 2000-11-13" will give you the 1.1 version, not the correct import version. When doing my initial sanity checks, I had to run some scripts over my checkout of the FSF sources to get a real vision of what the gdb sources looked like on 2000-11-13. The testsuite has been utterly ignored. It's a mess, you'll get 400-800 test failures if you can get it to work at all. I gather tcl+expect+dejagnu could crash the early versions of MacOS X, so not a lot of time has been spent on the testsuite yet. (they no longer crash the OS, BTW) Last I checked, our sources won't even build on non-MacOS X hosts. You'll need to create a gdb-next and gdb-next/display-support directories (gdb-next is a sibling of gdb/) before applying the patch. This is where all the host support exists. Very very very few ChangeLog entries, and the vast majority of the cvs commit messages are empty as well. This is almost certainly a one-time snapshot. If people really want to see what's up with the Apple sources on a continuing basis, the work is all happening on publically visible cvs servers. We require developers to get a login through a registration form, but that's a one-time annoyance which people can suffer through. I may put together a similar diff of our current trunk sources (which are being regularly merged with current FSF sources) after they've become a bit more stable. To make everyone's lives easier, I'm also providing a copy of the stable Apple gdb sources in a plain tar file. You may prefer the diffs for browsing, but you'll prefer the plain tar file if you're thinking of building this. With all that said, why would you want this? Well, one thing is that we're getting this all officially on the record as existing. Apple has talked about submitting things for ages, and I think we really are close to starting, but it doesn't hurt to throw this out there. All of the Objective C gdb support should be in this file, in one way or another, and I know folks are interested in that. You should be able to build the tar file easily on a MacOS X 10.1 system. You'll need to configure with --enable-gdbmi, but that's the only oddity that comes to mind right away (some UI_OUT code isn't guarded with ifdefs). For people not familiar, basic background: Mach is the kernel, BSD sits on top of that, the two combined seem to be called "Darwin". Our gdb has to handle both Mach signals and POSIX signals, and that adds a lot of complication. Apple has an integrated development environment with a GUI debugger interface, which talks to gdb via MI. A fair amount of work has gone into tweaking MI, and none of it has gone into matching changes to the testsuite - cf earlier statement about 400-800 failures. Darwin runs mostly on PPC and x86, although I gather it can be made to work on other processors with enough patience. Most of our work at Apple is on the PPC side of things. Objective C is a version of C with classes from NeXT. It uses brackets a lot, and its programmers think it's a great language. :-) Most importantly to gdb, ObjC names have no mangled form and have lots of spaces in them - you'll see symbol names like "-[NSExcpetion raise]" and that's how it looks at all stages of compilation/reading. The object file format is called MachO. I don't know much about it, it appears pretty divergent from everything else I've seen. Apple has its own linker and assembler (based on old circa 1.35 gas gld) with little resemblance to their modern counterparts. There are some bfd changes to handle MachO object file reading, and they work well enough for gdb, but binutils itself is dodgy at best on Darwin. Shared libraries are called "dylibs", and MacOS has some system of libraries called "frameworks". I don't really understand what Frameworks are all about - some kind of conglomeration of libraries and includes for a particular facility. I think X windows would be a Framework, for instance. You'll notice that our gdb depends on electric-fence, a GPL memory guard program included in the sources, but there's no real dependency; no one has gotten around to taking out the dependency and removing the directory from our gdb module. Ah, as an aside, I created this patch with the "-w" flag to diff to suppress whitespace diffs. You'd be surprised how many unnecessary whitespace diffs were in the sources. Here is the patch: ftp://sources.redhat.com/pub/gdb/contrib/apple-puma-branch-vs-fsf-2000-11-13.diffs.bz2 And here is the tarball: ftp://sources.redhat.com/pub/gdb/contrib/apple-puma-branch.tar.bz2 Apple has an anoncvs server where you can get all of this for yourself, look at http://www.opensource.apple.com/. You have to register to get access to the anoncvs server (don't blame me, I agree that it's weak), but I've heard it's a trivial little web form where you provide a name and other information of optional veracity, and it gives you access to the sources. BTW I've heard our cvs server is offline currently due to some problems or something, so don't run right out and be surprised when there is a problem. I'd assume it'll be back within the next week, but I know nothing about what's up. Feel free to ask questions, but questions that begin with "What the hell is <crap crap crap> doing in file <shouldn't-be-touching-this>.c" will not rate very high on my daily TODO list to reply to. With luck, we'll have some real patch submissions in the near future and this patch can fade into our distant memories. Jason Free the Software! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 0:59 ` Huge Apple gdb code dropping^H^H^H^H Jason Molenda 2001-11-24 6:24 ` Jason Molenda @ 2001-11-25 0:39 ` Jason Molenda 2001-11-29 11:12 ` Jason Molenda 2001-11-29 13:34 ` Andrew Cagney 2001-11-29 7:29 ` David Relson ` (3 subsequent siblings) 5 siblings, 2 replies; 24+ messages in thread From: Jason Molenda @ 2001-11-25 0:39 UTC (permalink / raw) To: gdb Andrew asked for some kind of official sounding statement, so here it is. As a duly appointed employee of Apple, Inc. (All Praise the One-button Mouse), I hereby foist unto the FSF this steaming pile o' modifications to gdb, to share and enjoy, in sickness and in health, til bitrot do you part. Jason Apple, Inc. On Thursday, November 29, 2001, at 12:59 AM, Jason Molenda wrote: > Apple maintains a modified version of gdb for their Mach/BSD based OS, > MacOS X. > Here is the patch: > > ftp://sources.redhat.com/pub/gdb/contrib/apple-puma-branch-vs-fsf-2000-11-13. > diffs.bz2 > > And here is the tarball: > > ftp://sources.redhat.com/pub/gdb/contrib/apple-puma-branch.tar.bz2 > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-25 0:39 ` Jason Molenda @ 2001-11-29 11:12 ` Jason Molenda 2001-11-29 13:34 ` Andrew Cagney 1 sibling, 0 replies; 24+ messages in thread From: Jason Molenda @ 2001-11-29 11:12 UTC (permalink / raw) To: gdb Andrew asked for some kind of official sounding statement, so here it is. As a duly appointed employee of Apple, Inc. (All Praise the One-button Mouse), I hereby foist unto the FSF this steaming pile o' modifications to gdb, to share and enjoy, in sickness and in health, til bitrot do you part. Jason Apple, Inc. On Thursday, November 29, 2001, at 12:59 AM, Jason Molenda wrote: > Apple maintains a modified version of gdb for their Mach/BSD based OS, > MacOS X. > Here is the patch: > > ftp://sources.redhat.com/pub/gdb/contrib/apple-puma-branch-vs-fsf-2000-11-13 . > diffs.bz2 > > And here is the tarball: > > ftp://sources.redhat.com/pub/gdb/contrib/apple-puma-branch.tar.bz2 > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-25 0:39 ` Jason Molenda 2001-11-29 11:12 ` Jason Molenda @ 2001-11-29 13:34 ` Andrew Cagney 2001-11-25 9:41 ` Andrew Cagney ` (2 more replies) 1 sibling, 3 replies; 24+ messages in thread From: Andrew Cagney @ 2001-11-29 13:34 UTC (permalink / raw) To: Jason Molenda; +Cc: gdb > Andrew asked for some kind of official sounding statement, so here it is. As a duly appointed employee of Apple, Inc. (All Praise the One-button Mouse), I hereby foist unto the FSF this steaming pile o' modifications to gdb, to share and enjoy, in sickness and in health, til bitrot do you part. Thanks! I'll figure out how to get it into the tree on some sort of branch. Why is this useful (beside using this warm steaming pile o' for central heating)? It clearly transfers the code to the FSF so that anyone, not just Apple employees, can confidently steal the interesting bits so that GDB can be made to work. Andrew Card carrying memeber of the 3 button USB moose owners association. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 13:34 ` Andrew Cagney @ 2001-11-25 9:41 ` Andrew Cagney 2001-11-25 9:42 ` Jason Molenda 2001-11-25 9:47 ` Daniel Berlin 2 siblings, 0 replies; 24+ messages in thread From: Andrew Cagney @ 2001-11-25 9:41 UTC (permalink / raw) To: Jason Molenda; +Cc: gdb > Andrew asked for some kind of official sounding statement, so here it is. As a duly appointed employee of Apple, Inc. (All Praise the One-button Mouse), I hereby foist unto the FSF this steaming pile o' modifications to gdb, to share and enjoy, in sickness and in health, til bitrot do you part. Thanks! I'll figure out how to get it into the tree on some sort of branch. Why is this useful (beside using this warm steaming pile o' for central heating)? It clearly transfers the code to the FSF so that anyone, not just Apple employees, can confidently steal the interesting bits so that GDB can be made to work. Andrew Card carrying memeber of the 3 button USB moose owners association. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 13:34 ` Andrew Cagney 2001-11-25 9:41 ` Andrew Cagney @ 2001-11-25 9:42 ` Jason Molenda 2001-11-29 13:43 ` Jason Molenda 2001-11-25 9:47 ` Daniel Berlin 2 siblings, 1 reply; 24+ messages in thread From: Jason Molenda @ 2001-11-25 9:42 UTC (permalink / raw) To: Andrew Cagney; +Cc: gdb On Thursday, November 29, 2001, at 01:33 PM, Andrew Cagney wrote: > Thanks! I'll figure out how to get it into the tree on some sort of > branch. You might want to wait for me to send in the current Apple sources. As I noted, they don't work so well right now, but they are merged with the latest FSF sources and they should be a little easier to wrangle into shape if anyone is interested in doing so. (our local changes should be nearly identical in both cases, they'll just be targeted to a more recent gdb version) BTW you'll obviously want to avoid a cvs import, or all our gdb-next/ directory will appear on the trunk. > Andrew > Card carrying memeber of the 3 button USB moose owners association. Hm, I think someone's been up in The Great White North a little too long... Jason ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-25 9:42 ` Jason Molenda @ 2001-11-29 13:43 ` Jason Molenda 0 siblings, 0 replies; 24+ messages in thread From: Jason Molenda @ 2001-11-29 13:43 UTC (permalink / raw) To: Andrew Cagney; +Cc: gdb On Thursday, November 29, 2001, at 01:33 PM, Andrew Cagney wrote: > Thanks! I'll figure out how to get it into the tree on some sort of > branch. You might want to wait for me to send in the current Apple sources. As I noted, they don't work so well right now, but they are merged with the latest FSF sources and they should be a little easier to wrangle into shape if anyone is interested in doing so. (our local changes should be nearly identical in both cases, they'll just be targeted to a more recent gdb version) BTW you'll obviously want to avoid a cvs import, or all our gdb-next/ directory will appear on the trunk. > Andrew > Card carrying memeber of the 3 button USB moose owners association. Hm, I think someone's been up in The Great White North a little too long... Jason ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 13:34 ` Andrew Cagney 2001-11-25 9:41 ` Andrew Cagney 2001-11-25 9:42 ` Jason Molenda @ 2001-11-25 9:47 ` Daniel Berlin 2001-11-29 14:15 ` Daniel Berlin 2 siblings, 1 reply; 24+ messages in thread From: Daniel Berlin @ 2001-11-25 9:47 UTC (permalink / raw) To: Andrew Cagney; +Cc: Jason Molenda, gdb On Thu, 29 Nov 2001, Andrew Cagney wrote: > > Andrew asked for some kind of official sounding statement, so here it is. As a duly appointed employee of Apple, Inc. (All Praise the One-button Mouse), I hereby foist unto the FSF this steaming pile o' modifications to gdb, to share and enjoy, in sickness and in health, til bitrot do you part. > > Thanks! I'll figure out how to get it into the tree on some sort of branch. > > Why is this useful (beside using this warm steaming pile o' for central > heating)? > > It clearly transfers the code to the FSF so that anyone, not just Apple > employees, can confidently steal the interesting bits so that GDB can be > made to work. > > Andrew > Card carrying memeber of the 3 button USB moose owners association. I was not aware they had three button mooses down there. --Dan ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-25 9:47 ` Daniel Berlin @ 2001-11-29 14:15 ` Daniel Berlin 0 siblings, 0 replies; 24+ messages in thread From: Daniel Berlin @ 2001-11-29 14:15 UTC (permalink / raw) To: Andrew Cagney; +Cc: Jason Molenda, gdb On Thu, 29 Nov 2001, Andrew Cagney wrote: > > Andrew asked for some kind of official sounding statement, so here it is. As a duly appointed employee of Apple, Inc. (All Praise the One-button Mouse), I hereby foist unto the FSF this steaming pile o' modifications to gdb, to share and enjoy, in sickness and in health, til bitrot do you part. > > Thanks! I'll figure out how to get it into the tree on some sort of branch. > > Why is this useful (beside using this warm steaming pile o' for central > heating)? > > It clearly transfers the code to the FSF so that anyone, not just Apple > employees, can confidently steal the interesting bits so that GDB can be > made to work. > > Andrew > Card carrying memeber of the 3 button USB moose owners association. I was not aware they had three button mooses down there. --Dan ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 0:59 ` Huge Apple gdb code dropping^H^H^H^H Jason Molenda 2001-11-24 6:24 ` Jason Molenda 2001-11-25 0:39 ` Jason Molenda @ 2001-11-29 7:29 ` David Relson 2001-11-24 12:36 ` David Relson 2001-11-29 10:27 ` Stan Shebs ` (2 subsequent siblings) 5 siblings, 1 reply; 24+ messages in thread From: David Relson @ 2001-11-29 7:29 UTC (permalink / raw) To: gdb At 03:59 AM 11/29/01, Jason Molenda wrote: >Objective C is a version of C with classes from NeXT. It uses >brackets a lot, and its programmers think it's a great language. :-) >Most importantly to gdb, ObjC names have no mangled form and have >lots of spaces in them - you'll see symbol names like "-[NSExcpetion >raise]" and that's how it looks at all stages of compilation/reading. Jason, This is good news! Objective C is one of the languages supported by gcc. It is also the language used in the GNUstep project, which brings NeXTSTEP/OpenStep capability to Linux, BSD, Windoze, etc. Of importance to me, it allows a project I wrote for NeXTSTEP/OpenStep to run on Linux. Objective C support has not been part of mainline gdb for several years - at least since gdb 4.17. There have been "unofficial" patches for 4.17, 4.18, and 5.0, but as gdb has evolved over the years it has become increasingly difficult to port the unofficial patches to each successive version of gdb. Having the Objective C support code be part of the official, mainline of gdb is something I've wanted for the last couple of years. David ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 7:29 ` David Relson @ 2001-11-24 12:36 ` David Relson 0 siblings, 0 replies; 24+ messages in thread From: David Relson @ 2001-11-24 12:36 UTC (permalink / raw) To: gdb At 03:59 AM 11/29/01, Jason Molenda wrote: >Objective C is a version of C with classes from NeXT. It uses >brackets a lot, and its programmers think it's a great language. :-) >Most importantly to gdb, ObjC names have no mangled form and have >lots of spaces in them - you'll see symbol names like "-[NSExcpetion >raise]" and that's how it looks at all stages of compilation/reading. Jason, This is good news! Objective C is one of the languages supported by gcc. It is also the language used in the GNUstep project, which brings NeXTSTEP/OpenStep capability to Linux, BSD, Windoze, etc. Of importance to me, it allows a project I wrote for NeXTSTEP/OpenStep to run on Linux. Objective C support has not been part of mainline gdb for several years - at least since gdb 4.17. There have been "unofficial" patches for 4.17, 4.18, and 5.0, but as gdb has evolved over the years it has become increasingly difficult to port the unofficial patches to each successive version of gdb. Having the Objective C support code be part of the official, mainline of gdb is something I've wanted for the last couple of years. David ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 0:59 ` Huge Apple gdb code dropping^H^H^H^H Jason Molenda ` (2 preceding siblings ...) 2001-11-29 7:29 ` David Relson @ 2001-11-29 10:27 ` Stan Shebs 2001-11-25 0:36 ` Stan Shebs 2001-11-29 11:25 ` Jason Molenda [not found] ` <200112070641.WAA01521@localhost.localdomain> 5 siblings, 1 reply; 24+ messages in thread From: Stan Shebs @ 2001-11-29 10:27 UTC (permalink / raw) To: gdb Jason Molenda wrote: > > I want to note that I am creating this patch under duress. :-) I > think this patch is wholly useless and the only thing accomplished by > assembling it is to keep me from watching TV for an evening. A > useful result, I'll admit, but I think that's all we'll see. Here are > some of the reasons I believe this patch is useless: Also, there's reason to believe that it includes sources to the feared CodeNimdaLovesRedMelissa virus, probably hidden in the longer filenames. I was hearing evil cackles from Jason's office the last time I was in Cupertino. So beware! :-) Stan ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 10:27 ` Stan Shebs @ 2001-11-25 0:36 ` Stan Shebs 0 siblings, 0 replies; 24+ messages in thread From: Stan Shebs @ 2001-11-25 0:36 UTC (permalink / raw) To: gdb Jason Molenda wrote: > > I want to note that I am creating this patch under duress. :-) I > think this patch is wholly useless and the only thing accomplished by > assembling it is to keep me from watching TV for an evening. A > useful result, I'll admit, but I think that's all we'll see. Here are > some of the reasons I believe this patch is useless: Also, there's reason to believe that it includes sources to the feared CodeNimdaLovesRedMelissa virus, probably hidden in the longer filenames. I was hearing evil cackles from Jason's office the last time I was in Cupertino. So beware! :-) Stan ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 0:59 ` Huge Apple gdb code dropping^H^H^H^H Jason Molenda ` (3 preceding siblings ...) 2001-11-29 10:27 ` Stan Shebs @ 2001-11-29 11:25 ` Jason Molenda 2001-11-25 1:24 ` Jason Molenda [not found] ` <200112070641.WAA01521@localhost.localdomain> 5 siblings, 1 reply; 24+ messages in thread From: Jason Molenda @ 2001-11-29 11:25 UTC (permalink / raw) To: gdb David Relston wrote: > This is good news! Objective C is one of the languages supported by > gcc. It is also the language used in the GNUstep project, which brings > NeXTSTEP/OpenStep capability to Linux, BSD, Windoze, etc. Of > importance to > me, it allows a project I wrote for NeXTSTEP/OpenStep to run on Linux. Yep, all the ObjC changes are in that mega patch. As I wrote in the note, we are working on a clean ObjC support patch to be submitted -- this is one of the most useful big changes in our tree and we want to get it integrated into the FSF sources. I believe we'll have that patch out soon; Andrew is less optimistic and wants an unfiltered patch in the hand instead of two in the bush. :-) > Objective C support has not been part of mainline gdb for several > years - > at least since gdb 4.17. There have been "unofficial" patches for 4.17, > 4.18, and 5.0, but as gdb has evolved over the years it has become > increasingly difficult to port the unofficial patches to each successive > version of gdb. Having the Objective C support code be part of the > official, mainline of gdb is something I've wanted for the last couple > of > years. I'm not any kind of expert on the history of ObjC patches, but I believe these patches are originally written by Michael Snyder when he was working at NeXT. He's been trying to get a clear copyright assignment to the FSF for them for years, but hasn't gotten that permission from the NeXT management. NeXT+Apple has Seen The Light and is happy to assign changes to gdb back to the FSF. (in theory, we could probably even get a clear statement about the old ObjC support patches if someone was really interested in trying to bring them up to date and merge them in. But I'd obviously prefer that we go with the ObjC patches in use at Apple. :-) The changes on the net are probably not the same as the changes in the Apple patch I submitted. I gather there were multiple ObjC implementations done at NeXT, and the one on the net was a big rewrite by Michael intended to fix a number of bogosities in the other one. We may have this 'other one' as our main sources these days. As I said, we've got no revision history from before 2000, and none of the people currently working on gdb have been at it for more than a few years. Jason ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Huge Apple gdb code dropping^H^H^H^H 2001-11-29 11:25 ` Jason Molenda @ 2001-11-25 1:24 ` Jason Molenda 0 siblings, 0 replies; 24+ messages in thread From: Jason Molenda @ 2001-11-25 1:24 UTC (permalink / raw) To: gdb David Relston wrote: > This is good news! Objective C is one of the languages supported by > gcc. It is also the language used in the GNUstep project, which brings > NeXTSTEP/OpenStep capability to Linux, BSD, Windoze, etc. Of > importance to > me, it allows a project I wrote for NeXTSTEP/OpenStep to run on Linux. Yep, all the ObjC changes are in that mega patch. As I wrote in the note, we are working on a clean ObjC support patch to be submitted -- this is one of the most useful big changes in our tree and we want to get it integrated into the FSF sources. I believe we'll have that patch out soon; Andrew is less optimistic and wants an unfiltered patch in the hand instead of two in the bush. :-) > Objective C support has not been part of mainline gdb for several > years - > at least since gdb 4.17. There have been "unofficial" patches for 4.17, > 4.18, and 5.0, but as gdb has evolved over the years it has become > increasingly difficult to port the unofficial patches to each successive > version of gdb. Having the Objective C support code be part of the > official, mainline of gdb is something I've wanted for the last couple > of > years. I'm not any kind of expert on the history of ObjC patches, but I believe these patches are originally written by Michael Snyder when he was working at NeXT. He's been trying to get a clear copyright assignment to the FSF for them for years, but hasn't gotten that permission from the NeXT management. NeXT+Apple has Seen The Light and is happy to assign changes to gdb back to the FSF. (in theory, we could probably even get a clear statement about the old ObjC support patches if someone was really interested in trying to bring them up to date and merge them in. But I'd obviously prefer that we go with the ObjC patches in use at Apple. :-) The changes on the net are probably not the same as the changes in the Apple patch I submitted. I gather there were multiple ObjC implementations done at NeXT, and the one on the net was a big rewrite by Michael intended to fix a number of bogosities in the other one. We may have this 'other one' as our main sources these days. As I said, we've got no revision history from before 2000, and none of the people currently working on gdb have been at it for more than a few years. Jason ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <200112070641.WAA01521@localhost.localdomain>]
[parent not found: <3C10E0F3.2010607@cygnus.com>]
* Re: More code code dropping [not found] ` <3C10E0F3.2010607@cygnus.com> @ 2001-12-07 7:43 ` Andrew Cagney 2001-12-08 0:17 ` Paul Hilfinger 2001-12-13 5:27 ` Paul N. Hilfinger 1 sibling, 1 reply; 24+ messages in thread From: Andrew Cagney @ 2001-12-07 7:43 UTC (permalink / raw) To: Andrew Cagney, hilfinger; +Cc: gdb [I changed mailing list to the more procedural gdb@] [Doh! No I didn't I'll try again.] Ada Core Techologies, Inc., is also in possession of a large set of modifications to GDB to make it Ada aware, which require quite a bit more processing to turn into patches. So, like Apple, we'd like to deposit this heap o'code in a spot more convenient to the general public. Not having done this before, however, I'd appreciate knowing the appropriate procedure for making such a deposit. Can I suggest grabbing a current gdb snapshot from ftp://sources.redhat.com/pub/gdb/snapshots/current/ and then create a diff and tar ball using that as the reference point reference. If you can make that available somewhere (posting here) I'll then pull it into the same directory as Apple's dropping. After that, doing something like importing that tar ball into a vendor branch might be useful. enjoy, Andrew ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: More code code dropping 2001-12-07 7:43 ` More code code dropping Andrew Cagney @ 2001-12-08 0:17 ` Paul Hilfinger 2001-12-08 7:56 ` Kevin Buettner 2001-12-08 15:27 ` Andrew Cagney 0 siblings, 2 replies; 24+ messages in thread From: Paul Hilfinger @ 2001-12-08 0:17 UTC (permalink / raw) To: ac131313; +Cc: gdb Folks, In discussing with Andrew Cagney the proper procedure for depositing ACT's Ada-related changes to GDB, I raised the question of what the most useful patch would be (or if it matters). Inasmuch as ACT's current GDB sources are derived from the GDB 5.0 release from spring 2000, last re-merged in September 2000, I thought that a diff against the gdb 5.0 release was probably most useful. Andrew had suggested a patch against the latest, bleeding-edge changes. Since the idea of a diff is to give the curious some idea of our changes, it seemed to me that the latter diff would show mostly undoings of more recent changes to GDB. If anyone else out there has an opinion on this subject, I'd like to hear it. Paul Hilfinger ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: More code code dropping 2001-12-08 0:17 ` Paul Hilfinger @ 2001-12-08 7:56 ` Kevin Buettner 2001-12-08 11:05 ` David Relson 2001-12-08 15:27 ` Andrew Cagney 1 sibling, 1 reply; 24+ messages in thread From: Kevin Buettner @ 2001-12-08 7:56 UTC (permalink / raw) To: Paul Hilfinger, ac131313; +Cc: gdb On Dec 8, 3:15am, Paul Hilfinger wrote: > I thought that a diff against the gdb 5.0 release > was probably most useful. Andrew had suggested a patch against the > latest, bleeding-edge changes. Since the idea of a diff is to give the > curious some idea of our changes, it seemed to me that the latter diff would > show mostly undoings of more recent changes to GDB. If anyone else out > there has an opinion on this subject, I'd like to hear it. I think it depends upon what you want. Personally, I'd be interested in seeing a patch that shows the changes that ACT has made. So the best candidate for diffing against would be the version of GDB that you merged with in your most recent merge. OTOH, a patch against the bleeding edge sources gives us a method of obtaining your source tree. Personally, I think it'd just be better for you to drop a tarball someplace if this is what's desired. As I think about it now, I think a tarball is probably the best approach anyway. That, along with a pointer to the version of GDB that you merged against should allow those interested to do their own diffs in whatever why they want... Kevin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: More code code dropping 2001-12-08 7:56 ` Kevin Buettner @ 2001-12-08 11:05 ` David Relson 0 siblings, 0 replies; 24+ messages in thread From: David Relson @ 2001-12-08 11:05 UTC (permalink / raw) To: gdb At 10:54 AM 12/8/01, you wrote: >On Dec 8, 3:15am, Paul Hilfinger wrote: > > > I thought that a diff against the gdb 5.0 release > > was probably most useful. Andrew had suggested a patch against the > > latest, bleeding-edge changes. Since the idea of a diff is to give the > > curious some idea of our changes, it seemed to me that the latter diff > would > > show mostly undoings of more recent changes to GDB. If anyone else out > > there has an opinion on this subject, I'd like to hear it. > >I think it depends upon what you want. Personally, I'd be interested >in seeing a patch that shows the changes that ACT has made. So the >best candidate for diffing against would be the version of GDB that >you merged with in your most recent merge. > >OTOH, a patch against the bleeding edge sources gives us a method of >obtaining your source tree. Personally, I think it'd just be better >for you to drop a tarball someplace if this is what's desired. > >As I think about it now, I think a tarball is probably the best >approach anyway. That, along with a pointer to the version of >GDB that you merged against should allow those interested to >do their own diffs in whatever why they want... > >Kevin My vote would be for a tarball of the ACT version PLUS the diff. The tarball would allow rebuilding of the executable, for those who want to do that. The diff would allow the changes to be viewed and would allow the changes to be applied to (merged with) the latest version of gdb. David ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: More code code dropping 2001-12-08 0:17 ` Paul Hilfinger 2001-12-08 7:56 ` Kevin Buettner @ 2001-12-08 15:27 ` Andrew Cagney 1 sibling, 0 replies; 24+ messages in thread From: Andrew Cagney @ 2001-12-08 15:27 UTC (permalink / raw) To: Paul Hilfinger; +Cc: gdb > Folks, > > In discussing with Andrew Cagney the proper procedure for depositing ACT's > Ada-related changes to GDB, I raised the question of what the most useful > patch would be (or if it matters). Inasmuch as ACT's current GDB sources > are derived from the GDB 5.0 release from spring 2000, last re-merged > in September 2000, I thought that a diff against the gdb 5.0 release > was probably most useful. Andrew had suggested a patch against the > latest, bleeding-edge changes. Since the idea of a diff is to give the > curious some idea of our changes, it seemed to me that the latter diff would > show mostly undoings of more recent changes to GDB. If anyone else out > there has an opinion on this subject, I'd like to hear it. Valid point. Apple handled this by putting up both an older stable release and a current snap. Anyway, regardless of how it is done, I think the main objective is to just get Act's GDB changes contributed to the FSF. That way they can be merged in. enjoy, Andrew ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: More code code dropping [not found] ` <3C10E0F3.2010607@cygnus.com> 2001-12-07 7:43 ` More code code dropping Andrew Cagney @ 2001-12-13 5:27 ` Paul N. Hilfinger 2001-12-15 11:32 ` Andrew Cagney 1 sibling, 1 reply; 24+ messages in thread From: Paul N. Hilfinger @ 2001-12-13 5:27 UTC (permalink / raw) To: ac131313; +Cc: gdb I have placed the Ada Core Technology Ada-aware GDB sources temporarily in http://www.cs.berkeley.edu/~hilfingr/gnat-gdb/ Andrew has kindly offered to move them to a more appropriate place at some point. After considering the various suggestions, I decided to drop three things: 1. Our sources. 2. A copy of the CVS sources from which they branched off (as of 4 Sept 2000 at 1326 PDT) 3. The patch file to get from 2 to 1. At some point, we will be integrating all of this into the public sources, and of course, incorporating more recent changes. Paul Hilfinger ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: More code code dropping 2001-12-13 5:27 ` Paul N. Hilfinger @ 2001-12-15 11:32 ` Andrew Cagney 0 siblings, 0 replies; 24+ messages in thread From: Andrew Cagney @ 2001-12-15 11:32 UTC (permalink / raw) To: Paul Hilfinger; +Cc: gdb > I have placed the Ada Core Technology Ada-aware GDB sources temporarily in > > http://www.cs.berkeley.edu/~hilfingr/gnat-gdb/ > > Andrew has kindly offered to move them to a more appropriate place at some > point. After considering the various suggestions, I decided to drop > three things: [I'm assuming this was ``Paul Hilfinger'' of Act :-)] I've moved them to snapshot FTP site and added an item mentioning both this and the Apple contribution on the news page. > 1. Our sources. > > 2. A copy of the CVS sources from which they branched off (as of > 4 Sept 2000 at 1326 PDT) > > 3. The patch file to get from 2 to 1. > > At some point, we will be integrating all of this into the public sources, and > of course, incorporating more recent changes. Ok thanks. Andrew ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: More code code dropping [not found] ` <200112070641.WAA01521@localhost.localdomain> [not found] ` <3C10E0F3.2010607@cygnus.com> @ 2001-12-08 18:05 ` Jason Molenda 1 sibling, 0 replies; 24+ messages in thread From: Jason Molenda @ 2001-12-08 18:05 UTC (permalink / raw) To: Hilfinger; +Cc: gdb On Thu, Dec 06, 2001 at 10:41:36PM -0800, Paul N. Hilfinger wrote: > Not having > done this before, however, I'd appreciate knowing the appropriate procedure > for making such a deposit. I thought my process was a reasonable one when I made the Apple snapshot. Our last merge to the FSF was Nov 2000, so the patch I created showed the differences between our sources and the Nov 2000 FSF sources. When I have some time, I plan to make another snapshot of our sources against the current sources (Klee has brought our internal gdb branch up to date with the FSF sources recently). I think trying to do both of these - send in your changes and update your changes against the current gdb snapshots - will make the process more difficult to complete. When creating the diff, I used the obvious diff options; -Nwup if I remember correctly. I added -w because we had many meaningless whitespace changes in our sources and I didn't want to bloat the patch. After doing this, I looked over my patch with diffstat to see the distribution of changes and get a feel for whether the patch makes sense. I was doing my diff with cvs, and cvs was unhelpful when the changes to a file were entirely whitespace - I'd end up with an empty patch to that file (just the patch header, no actual patches). These don't cause any problems, but they make it look like the patch is more widespread than it really is. I removed them by hand. (incidentally, if you are using cvs to do this, I'd try to use cvs 1.11 on the server and client - it records the directories in the diff filenames. It makes patching infinitely easier. The cvs server on sourceware is still 1.10 for complicated reasons.) Incidentally, I know you'll be diffing against an import in your own tree or the gdb 5.0 tarball, but I was doing it against the FSF cvs sources, so I found it very helpful to rsync over a copy of the gdb CVS repository to my local system while I was doing all these operations. This also meant I could use cvs 1.11 on my local system and get the pretty diffs that I wanted. Details here: http://sourceware.cygnus.com/sourceware/rsync.html When completed, I bzip2'ed the patch, and I included a .bz2 tarball of the correctly patched sources. In theory anyone should be able to recreate that tarball given the patch file and the original sources, but why not make it a bit easier for them. That tarball and patch are in ftp://sourceware.cygnus.com/pub/gdb/contrib with a README file pointing to my mailing list announcement about it and a short description of what these files are. We might as well give some tips to some poor sucker trying to understand what these random files are years from now. :-) I think the whole process took me five or six hours, but I had some issues with cvs which added a fair amount of time. A no-thinking-allowed approach could finish this task in under an hour, I'm sure. Hope that helps, Jason ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2001-12-15 19:32 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <Paul Hilfinger <hilfingr@gnat.com>
2001-11-29 0:59 ` Huge Apple gdb code dropping^H^H^H^H Jason Molenda
2001-11-24 6:24 ` Jason Molenda
2001-11-25 0:39 ` Jason Molenda
2001-11-29 11:12 ` Jason Molenda
2001-11-29 13:34 ` Andrew Cagney
2001-11-25 9:41 ` Andrew Cagney
2001-11-25 9:42 ` Jason Molenda
2001-11-29 13:43 ` Jason Molenda
2001-11-25 9:47 ` Daniel Berlin
2001-11-29 14:15 ` Daniel Berlin
2001-11-29 7:29 ` David Relson
2001-11-24 12:36 ` David Relson
2001-11-29 10:27 ` Stan Shebs
2001-11-25 0:36 ` Stan Shebs
2001-11-29 11:25 ` Jason Molenda
2001-11-25 1:24 ` Jason Molenda
[not found] ` <200112070641.WAA01521@localhost.localdomain>
[not found] ` <3C10E0F3.2010607@cygnus.com>
2001-12-07 7:43 ` More code code dropping Andrew Cagney
2001-12-08 0:17 ` Paul Hilfinger
2001-12-08 7:56 ` Kevin Buettner
2001-12-08 11:05 ` David Relson
2001-12-08 15:27 ` Andrew Cagney
2001-12-13 5:27 ` Paul N. Hilfinger
2001-12-15 11:32 ` Andrew Cagney
2001-12-08 18:05 ` Jason Molenda
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox