digitalmars.D.bugs - [Issue 3528] New: FreeBSD patches for druntime.
- d-bugmail puremagic.com (60/60) Nov 19 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (21/21) Nov 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (16/16) Nov 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (12/19) Nov 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (9/9) Nov 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (11/11) Nov 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (11/15) Nov 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (10/16) Nov 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (12/15) Nov 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (15/15) May 17 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (13/13) Aug 03 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (13/13) Aug 03 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3528
- d-bugmail puremagic.com (11/11) Aug 05 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3528
http://d.puremagic.com/issues/show_bug.cgi?id=3528 Summary: FreeBSD patches for druntime. Product: D Version: unspecified Platform: All OS/Version: FreeBSD Status: NEW Severity: minor Priority: P2 Component: druntime AssignedTo: sean invisibleduck.org ReportedBy: boucher.travis gmail.com 18:41:32 PST --- Created an attachment (id=503) FreeBSD quick fix (should compile, may not work properly) This is a preliminary patch, mostly trivial, and not fully tested yet (but it compiles, so that is 1 step in the right direction). Some notes: - posix.mak implies posix which also implies unix line termination. This patch doesn't have it corrected. A simple perl -pi -e 's/\r\n/\n/g' filename will convert from winderz to unix line termination. Note a biggy, just something I trip over sometimes when making patches. - dmd2 changed freebsd to FreeBSD for version statements. Maybe version statements should case insensitive? - For the most part I just copied the linux definitions of stuff that was missing. This may or may not work, I don't have everything ready to run a good test yet. - make is only gnu make on linux machines. I'd like to make the whole build structure a little more standard make-wise. The dmd source is pretty good for this. I am not sure what druntime needs that is so gnu specific. Future direction: Cleanup the whole runtime and group Posix vs. Linux/FreeBSD definitions properly. Stuff that is defined in the Posix spec should be in a version( Posix ) rather then a version( linux ) with duplicates for version( FreeBSD ), version( Solaris ), version( each other os). I'd prefer to see something like this: version (Posix) { struct OSStructure { version(linux) int foo; version(FreeBSD) long foo; int bar; } } for trivial differences between implementations rather then a completely different block. This is even more important for things like standard posix APIs. Another example is when one implementation uses a macro and another uses a function. version (FreeBSD) { void MacroImplementation(...) { ... } alias MacroImplementaion DImplementaion } version (linux) { extern (C) void LibraryImplementation(...) { ... } alias LibraryImplementaion DImplementation } (I think some of the pthread stuff is like this, but I have to read through both source trees to find out for sure). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 19 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com 03:47:29 PST --- I started with the fine grained versioning for OS differences, but abandoned it after it got hopelessly tangled. The problem is updating support for one OS that trashes another. All OS specific API's should be in separate modules. Then maintenance is a lot easier. Also, please compile & test patches before submitting them. If it's inserted without testing, then it may silently fail, yet will be assumed to work some arbitrary time later. For sure, just copying linux stuff is fraught with peril. Linux and Freebsd are substantially different, and every declaration needs to be manually and carefully checked against the Freebsd C header files. Getting things like bit masks, magic values, argument types, number of arguments, struct layouts, etc., wrong is a potential disastrous problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 Sean Kelly <sean invisibleduck.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- The OS-specic blocks in the Posix headers are there to ease maintenance. As Walter has said, the alternative would be to have separate headers for each OS, but I personally find it easier to work with them as-is. I don't want to put common stuff in a shared Posix version because it could cause problems later. Add support for another OS that doesn't define things that way and you either have to separate it all again or add finer-grained versioning, which would be a nightmare. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 08:44:41 PST ---The OS-specic blocks in the Posix headers are there to ease maintenance. As Walter has said, the alternative would be to have separate headers for each OS, but I personally find it easier to work with them as-is. I don't want to put common stuff in a shared Posix version because it could cause problems later. Add support for another OS that doesn't define things that way and you either have to separate it all again or add finer-grained versioning, which would be a nightmare.The problem I am having now is that the FreeBSD stuff isn't being maintained. I am also trying to figure out the specific interactions between dmd, druntime and phobos. This will become even more of a nightmare if more platforms becomes supported. Maybe dropping freebsd support all together in dmd is an answer, and then my focus could be on gdc and making sure phobos/tango has the support I require. (of course druntime is still required at some level). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 --- OS support beyond Linux and OSX is by submission, since I don't have an install of other OSes to check. Tango is the same way though, unless something has changed recently. What issue do you have with Druntime/Phobos interaction? I'm not sure I understand. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 --- Regarding your commends, eol-style should be set for all files in SVN, so if you're working from SVN all that should be handled for you. And please please don't copy definitions from one OS without checking them. If something doesn't compile now it indicates where work needs to be done to fill out the headers properly. Throwing in potentially invalid definitions just papers over the problem and is likely to produce subtly broken code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 13:05:49 PST ---OS support beyond Linux and OSX is by submission, since I don't have an install of other OSes to check. Tango is the same way though, unless something has changed recently. What issue do you have with Druntime/Phobos interaction? I'm not sure I understand.No issues with druntime/phobos interaction, just trying to learn/figure out what is defined where. Most of what I am doing is to learn the internals a little more so I can use it for targets other then x86/winderz/linux. I am especially interested in embedded targets (which is why understanding what all druntime provides is important to me). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 13:09:03 PST ---Regarding your commends, eol-style should be set for all files in SVN, so if you're working from SVN all that should be handled for you. And please please don't copy definitions from one OS without checking them. If something doesn't compile now it indicates where work needs to be done to fill out the headers properly. Throwing in potentially invalid definitions just papers over the problem and is likely to produce subtly broken code.Understood, I'll be sure to test things properly before submitting anything else. I think one of the biggest frustrations in making D more cross platform is the inability to look at system C headers to create the proper definitions automatically. (not a fault in D's design, just an annoyance for integration) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 Anders F Bj <afb algonet.se> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |afb algonet.seI think one of the biggest frustrations in making D more cross platform is the inability to look at system C headers to create the proper definitions automatically. (not a fault in D's design, just an annoyance for integration)GDC looks at the system C headers. http://dgcc.svn.sourceforge.net/viewvc/dgcc/trunk/d/phobos/config/ -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 22 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3528 Shin Fujishiro <rsinfu gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- obsolete| | --- Created an attachment (id=634) New patch for svn r296 This is a new patch for druntime trunk r296. I tested the patch with the Phobos (r1513) unit tests -- it successfully passed on FreeBSD 8-STABLE (compiler patches bug 4191 and bug 4198 were required). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 17 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3528 Shin Fujishiro <rsinfu gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- obsolete| | --- Created an attachment (id=702) Patch against svn r352 Updated the patch for svn trunk r352. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 03 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3528 Shin Fujishiro <rsinfu gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- obsolete| | --- Created an attachment (id=703) Patch against svn r352 Oops, forgot to eliminate backtrace stuffs that FreeBSD libc does'nt have. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 03 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3528 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED 03:01:26 PDT --- http://www.dsource.org/projects/druntime/changeset/356 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 05 2010