15:45:43 tsoome - a trailing comma on an enum is a C99 thing, isn't it? 15:45:57 i believe so 15:46:19 We probably shouldn't have that in blkdev.h then (although still definitely good to make dtrace handle it) 15:46:55 is blkdev.h something we expect userland to use? 15:48:42 (IIUC, kernel is C99.. it's just stuff userland might #include that still needs to be c89 compat) 15:48:45 good point, no, it doesn't look like it 16:07:19 there are few places with trailing comma. 16:10:04 [illumos-gate] 15289 cmd: remove pragma ident -- Toomas Soome 16:55:01 lib cleanup RTI builds started, soon this is history and we can hunt down unknown pragmas;) 17:22:24 removing the _CHAR_IS_SIGNED sections from sys/int_types.h and making int*8_t fixes a bunch of C++ software for me with no regressions that I can see, is there anything else I might be missing? 17:23:56 .."making int*8_t signed char explicitly" 17:24:07 alanc: be interested to know if solaris 11.4 has changed ^^ too 17:25:42 we still have _CHAR_IS_SIGNED 17:26:31 ok thanks 17:27:46 but we still support Studio cc, which has the -xchar={signed,unsigned} option 17:58:11 and char is not signed on aarch64, IIRC. 17:59:13 yeh it wouldn't affect that 18:00:23 "typedef signed char int8_t" works regardless of the default signed-ness of char 18:03:08 the " Note that int8_t 18:03:08 * is not defined in -Xs mode on ISAs for which the ABI specifies "char" 18:03:08 * as an unsigned entity because there is no way to define an eight bit 18:03:08 * signed integral. 18:03:08 " comment appears to be out of sync with the code beneath 18:09:09 (were there a bunch of #ifdef __STDC__ or the like in there that got stripped when it was safe to use the "signed" keyword unconditionally?) 18:59:23 in the Solaris version, there's still an #if defined(__STDC__) around the typedef signed char int8_t; in the #else clause of #if defined(_CHAR_IS_SIGNED) 19:00:32 you can't remove the _CHAR_IS_SIGNED bits, we need them. 19:01:24 making them signed explicitly sounds good 19:01:35 but in general _CHAR_IS_SIGNED/UNSIGNED is important 19:01:56 looks like gdamore dropped that __STDC__ check in https://github.com/illumos/illumos-gate/commit/ba3594ba9b5dd4c846c472a8d657edcb7c8109ac but failed to update your comments to match 19:01:58 sure, I'm not proposing removing them generally, just the sections in sys/int_types.h 19:02:15 anyway I'll keep this in my tree for now and see if anything falls out with a bit more thorough testing 19:02:17 jperkin: What was the build failure? 19:03:04 jperkin: being explicit definitely sounds good, I just don't want anything to change/stop respecting those in fact, if not syntactically. 19:04:26 rmustacc: I don't have a link to the main failure which is textproc/nlohmann-json that is now a dependency for mkvtoolnix, but in my bulk build to test fixing that I found these two failures were also fixed: 19:04:30 https://us-central.manta.mnx.io/pkgsrc/public/reports/upstream-bulktest/20230121.1926/tesseract-4.1.1nb12/build.log 19:04:34 https://us-central.manta.mnx.io/pkgsrc/public/reports/upstream-bulktest/20230121.1926/gjs-1.68.4nb4/build.log 19:04:53 possibly others too (there was one false-positive that has skewed the results a little, I'm waiting for a rebuild to clean that up) 19:05:36 OK. Makes me wonder what else is going wrong as the results should be mostly identical. Though I agree with Rich that it's good to just be explicit and that'd be good regardless. 19:06:13 ../../src/ccutil/serialis.h:98:8: error: 'bool tesseract::TFile::DeSerialize(int8_t*, std::size_t)' cannot be overloaded with 'bool tesseract::TFile::DeSerialize(char*, std::size_t)' sounds like a real bug 19:06:21 you _can't_ rely on char and int8 having the same signedness 19:06:38 why your change fixes that I'm less sure of 19:07:01 I guess because the change alan pointed out made C++ thing they were the other way around? 19:07:03 that would be bad. 19:07:34 the nlohmann-json failure is in bowels of C++ too, I've never seen it be an issue in C code 19:08:48 anyway, what your diff does seems reasonable to me, and I'm trying it out somewhere problematic 19:09:00 what happened to make you notice sounds more important, honestly, and like someone just screwed it all up 19:09:03 but rm is the expert. 19:09:17 (because I learned from alan that if you declare someone "the expert" enough, they get stuck with it) 19:09:43 hah, and like anyone is going to object to robert being labelled an expert on something 19:10:01 I'll remember this one. 19:10:23 Anyways, the question is probably does the C++ library define some of these on their own and not as typedefs. 19:10:52 tonight I'll be kicking off a test build which will include rebuilding gcc12 with these changes 19:11:11 I guess I need to understand C++ specs which I have not ever really done to date. 19:11:13 my questions would be does the C++ stew change stuff, did garrett's change just absolutely break C++? 19:11:28 CTF might be able to answer the latter 19:11:47 (or dwarfdump, or whatever floats your boat) 19:29:30 so gdamore forgot that defined(__STDC__) can also mean !defined(__cplusplus) ? 19:30:25 though I could also see garrett arguing that breaking C++ is a good thing... 19:33:23 the first one was my thought. 19:33:29 the second did also cross my mind 20:17:03 are there plans to bump libdwarf btw?:) 20:22:04 to what end? 20:22:15 I haven't any, but I haven't had reason to, or heard reason to 20:22:38 if you want to -- and it works -- I certainly wouldn't stop you? 20:22:42 but I'm sorta busy myself. 20:23:03 i mean, if I did read it right, ours is from 2020, current is from 2022 and some bugs fixed, as one can imagine:) 20:24:44 and dwarf5 support added meanwhile... 20:24:47 sure, but not bugs we have -- that we know of -- experienced. 20:25:06 I see. 20:25:08 and since we use our libdwarf for CTF, dwarf4 and dwarf5 are less important since the ctf tools don't understand (fully) anyway, and also we specify v2 20:25:12 so nobody got to it yet 20:25:15 but someone _could_ 20:26:02 as usual:) 20:51:41 tsoome: I don't have a time frame for it. But it's pretty non-trivial, but could at some point. 20:53:19 since clang defaults to dwarf5, I was a bit curious and did check what we have/miss. Therefore the question:) 20:53:40 you need to do what we do with gcc, make it output dwarf2 20:53:57 yes, I did that too:) 20:53:58 I'm not actually sure what the differences are for the small amount of dwarf we consume, but they do apparently matter. 20:54:49 I meant to at some point try and do dwarf4 as a default and see what breaks with illumos. 20:56:21 richlowe: I think the CTF tools are pretty good for dwarf4, fwiw. 20:56:36 There was a large effort that last time I did that. 20:59:40 oh, well that's great at least 21:03:37 The CTF tests at the time I last did this all worked well with gcc/clang with both -gdwarf2/4 21:05:19 [illumos-gate] 15340 cxgbe could make use of firmware loader API -- Andy Fiddaman 21:12:46 should we be looking into defaulting to 4 then? 21:18:39 Probably. 21:18:49 That'd be the next test is diffing everything. 21:19:20 ctfdiff certainly makes that a more pleasant experience 21:19:47 Indeed. 21:19:58 Especially with the ctfdump -c making it actually usable. 21:28:34 [illumos-gate] 15352 acl_get(3sec) return type is wrong -- Bill Sommerfeld