Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-22 Thread eugene via Digitalmars-d-learn

On Wednesday, 22 December 2021 at 10:05:25 UTC, rempas wrote:

On Wednesday, 22 December 2021 at 09:49:59 UTC, eugene wrote:


It looks strange - leading D compiler is not in Linux/FreeBSD 
repos :)


Well no so much.


Well, ok. Now the only thing I can "do" is to wait until
[the issue](https://issues.dlang.org/show_bug.cgi?id=22615) will 
be solved.


And just in case - the topic was started due to my
exersises with kqueue and if it is interesting for
anybody, see [EDSM](http://zed.karelia.ru/0/e/)

EDSM stands for 'event driven state machines'

NOTE: despite the topic, those programs (echo client/server pair)
work perfectly, but this is not suprisingly, because:

* I am not using ext field in struct kevent_t
* most likely I never get more than one event from kqueue()
* buffer is 8 events long, so I always have extra space for that 
ext field.




Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-22 Thread rempas via Digitalmars-d-learn

On Wednesday, 22 December 2021 at 09:49:59 UTC, eugene wrote:


It looks strange - leading D compiler is not in Linux/FreeBSD 
repos :)


Well no so much. The only official compiler is DMD and when it 
comes to that, Digital Mars, has pre-built binaries for most 
Linux distros and for FreeBSD. Now the repos are another thing 
like I told you in a previous reply. The repos are managed by the 
distro maintainers and not the developers individual. D is a very 
unpopular language so it makes sense that not every distro (and 
freeBSD) have up to date packages. Some distros are not rolling 
release in general. FreeBSD (if I'm not mistaken) never promoted 
themselves as bleeding edge either. However, both DMD and LDC2 
developers have up to date binaries for every platform they 
support. GDC is part of GCC so it's another story Also I 
prefer to use my distro's repos too for everything (and I can do 
that because I use Arch btw) but this is not possible every time. 
Downloading and installing binaries from other sites should be do 
some times, especially if you use non-bleeding edge distros or 
*BSD.


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-22 Thread eugene via Digitalmars-d-learn

On Wednesday, 22 December 2021 at 00:43:16 UTC, Johan wrote:
When you run `ldc2 -v test.d` (some arbitrary d file), you 
should see "predefs" at the top, followed by a bunch of 
predefined versions by the compiler. FreeBSD_xx should be on 
that list, and the number should correspond to your OS version. 
If it does not, then that's a bug in LDC.


Forget about LDC :)
I used outdated version of LDC (the one installed with pkg),
which does not have struct kevent_t for 12+ at all.

I was wrong: LDC is using its own code to determine the OS 
version, and it should already do that correctly.


And I am **not** going to install up to date version of LDC,
because I prefer to use packages supplied by
repository maintainers (usually)

FreeBSD has ldc2 (old, but it **is** in the repo)
Linux has both gdc (also old) and ldc.

It looks strange - leading D compiler is not in Linux/FreeBSD 
repos :)




Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-22 Thread eugene via Digitalmars-d-learn

On Wednesday, 22 December 2021 at 08:41:56 UTC, eugene wrote:

Both these files are just copies from DMD distribution.


Forget to mention...
[installation instructions](https://dlang.org/dmd-freebsd.html) 
are complete mess

I just copied right things to right places manually.



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-22 Thread rempas via Digitalmars-d-learn

On Wednesday, 22 December 2021 at 08:41:56 UTC, eugene wrote:
You thought right - I **DID NOT** try the latest LDC, I just 
looked into

ldc2-1.28.0-freebsd-x86_64.tar.xz archive to see
what is in core/sys/freebsd/config.d and in 
core/sys/freebsd/sys/event.d


Both these files are just copies from DMD distribution.


Actually just taking a look in the files is the same thing ;)


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-22 Thread eugene via Digitalmars-d-learn

On Wednesday, 22 December 2021 at 06:50:00 UTC, rempas wrote:

On Tuesday, 21 December 2021 at 21:09:14 UTC, eugene wrote:


* The ldc installed by 'pkg install ldc' (the old one), does 
not have config module
* Most resent ldc (link you indicated), does have condig 
module, and it is exactly the same as condig in most recent dmd


Cool! Makes sense! I thought you didn't tried the latest LDC2 
at all so it seemed weird to me. Great job man!


You thought right - I **DID NOT** try the latest LDC, I just 
looked into

ldc2-1.28.0-freebsd-x86_64.tar.xz archive to see
what is in core/sys/freebsd/config.d and in 
core/sys/freebsd/sys/event.d


Both these files are just copies from DMD distribution.





Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread rempas via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 21:09:14 UTC, eugene wrote:


* The ldc installed by 'pkg install ldc' (the old one), does 
not have config module
* Most resent ldc (link you indicated), does have condig 
module, and it is exactly the same as condig in most recent dmd


Cool! Makes sense! I thought you didn't tried the latest LDC2 at 
all so it seemed weird to me. Great job man!


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread Johan via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 21:09:14 UTC, eugene wrote:

On Tuesday, 21 December 2021 at 21:02:21 UTC, rempas wrote:

On Tuesday, 21 December 2021 at 19:55:13 UTC, eugene wrote:


core/sys/freebsd/config.d and core/sys/freebsd/sys/event.d
are the same as in fresh dmd, so there is not much sense to 
try it.

dmd (including phobos) is a reference, and I do not think,
that ldc is ahead of dmd with it's stdlib.


Oh, that was in the next page and I didn't saw it when I 
replied. So to continue from my last comment (and answer on 
this one), I thought you said that LDC does not include 
"core.sys.freebsd.config" 
[here](https://forum.dlang.org/post/sjausqwudtujswpom...@forum.dlang.org) or is

there something I didn't understand right?


* The ldc installed by 'pkg install ldc' (the old one), does 
not have config module
* Most resent ldc (link you indicated), does have condig 
module, and it is exactly the same as condig in most recent dmd


Hi Eugene,
  When you run `ldc2 -v test.d` (some arbitrary d file), you 
should see "predefs" at the top, followed by a bunch of 
predefined versions by the compiler. FreeBSD_xx should be on that 
list, and the number should correspond to your OS version. If it 
does not, then that's a bug in LDC.
I was wrong: LDC is using its own code to determine the OS 
version, and it should already do that correctly.


cheers,
  Johan



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 21:02:21 UTC, rempas wrote:

On Tuesday, 21 December 2021 at 19:55:13 UTC, eugene wrote:


core/sys/freebsd/config.d and core/sys/freebsd/sys/event.d
are the same as in fresh dmd, so there is not much sense to 
try it.

dmd (including phobos) is a reference, and I do not think,
that ldc is ahead of dmd with it's stdlib.


Oh, that was in the next page and I didn't saw it when I 
replied. So to continue from my last comment (and answer on 
this one), I thought you said that LDC does not include 
"core.sys.freebsd.config" 
[here](https://forum.dlang.org/post/sjausqwudtujswpom...@forum.dlang.org) or is

there something I didn't understand right?


* The ldc installed by 'pkg install ldc' (the old one), does not 
have config module
* Most resent ldc (link you indicated), does have condig module, 
and it is exactly the same as condig in most recent dmd





Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread rempas via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 19:55:13 UTC, eugene wrote:


core/sys/freebsd/config.d and core/sys/freebsd/sys/event.d
are the same as in fresh dmd, so there is not much sense to try 
it.

dmd (including phobos) is a reference, and I do not think,
that ldc is ahead of dmd with it's stdlib.


Oh, that was in the next page and I didn't saw it when I replied. 
So to continue from my last comment (and answer on this one), I 
thought you said that LDC does not include 
"core.sys.freebsd.config" 
[here](https://forum.dlang.org/post/sjausqwudtujswpom...@forum.dlang.org) or is there something I didn't understand right? And WOW! We are making a big conversation here, lol


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread rempas via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 19:40:52 UTC, eugene wrote:


But i like to use software out of the box and
do not like compile it from source.

Me too! The link I gave you has a binary release with LDC2. You 
won't have to compile it yourself.




I do not see any reason for me to do this.
The "problem" (with dmd, not with ldc) is
that despite phobos does contain everthing for ver 12+,
the version itself is incorrect.


I agree tho what I was wondering was if the latest version LDC2 
will now have the missing definitions for freeBSD. The versioning 
will of course be wrong (as LDC2 uses DMD as a frontend from what 
I know) but if the other info isn't added then maybe we should 
add an issue in their Github. Of course if you don't care about 
LDC2 you should not spend your time


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn
On Tuesday, 21 December 2021 at 19:49:26 UTC, Steven 
Schveighoffer wrote:
If this is a compiler-supplied version, then I don't think you 
are allowed to set it explicitly.



moreover... commented out in condig.d like this:


```d
 version (FreeBSD_12) enum __FreeBSD_version = 1202000;
//else version (FreeBSD_11) enum __FreeBSD_version = 1104000;
//else version (FreeBSD_10) enum __FreeBSD_version = 1004000;
//else version (FreeBSD_9)  enum __FreeBSD_version = 903000;
//else version (FreeBSD_8)  enum __FreeBSD_version = 804000;
//else static assert(false, "Unsupported version of FreeBSD");
```

and...

```
@bsd:~/d> dmd freebsdver
/usr/include/d/dmd/core/sys/posix/sys/types.d(201): Error: 
undefined identifier `__FreeBSD_version`
/usr/include/d/dmd/core/sys/posix/stdio.d(393): Error: undefined 
identifier `__FreeBSD_version`
/usr/include/d/dmd/core/sys/freebsd/sys/event.d(42): Error: 
undefined identifier `__FreeBSD_version`
/usr/include/d/dmd/core/sys/freebsd/sys/event.d(173): Error: 
undefined identifier `__FreeBSD_version`

```




Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 19:22:35 UTC, rempas wrote:
Yeah, don't use the "pkg" version as it is outdated. It is very 
hard to keep a whole OS (thousands of packages) up to date. So 
yeah, uninstall your current ldc and trying with the one from 
the link I gave you and tell me the output


core/sys/freebsd/config.d and core/sys/freebsd/sys/event.d
are the same as in fresh dmd, so there is not much sense to try 
it.

dmd (including phobos) is a reference, and I do not think,
that ldc is ahead of dmd with it's stdlib.



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread Steven Schveighoffer via Digitalmars-d-learn

On 12/21/21 2:32 PM, eugene wrote:

On Tuesday, 21 December 2021 at 19:13:19 UTC, Steven Schveighoffer wrote:

On 12/21/21 1:50 PM, eugene wrote:

```d
 version (FreeBSD_12) enum __FreeBSD_version = 1202000;
else version (FreeBSD_11) enum __FreeBSD_version = 1104000;
else version (FreeBSD_10) enum __FreeBSD_version = 1004000;
else version (FreeBSD_9)  enum __FreeBSD_version = 903000;
else version (FreeBSD_8)  enum __FreeBSD_version = 804000;
else static assert(false, "Unsupported version of FreeBSD");
```

but __FreeBSD_version is 1104000 anyway.


Not sure how those versions are set. I have a hard time following the 
dmd code to see where it might check the current-running OS to check 
for the version.


I think, it'd be nice to set it in /etc/dmd.conf
Or.. is it bad idea?..



If this is a compiler-supplied version, then I don't think you are 
allowed to set it explicitly.


-Steve


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 19:22:35 UTC, rempas wrote:

On Tuesday, 21 December 2021 at 19:00:04 UTC, eugene wrote:


Well, I just installed it by

   pkg intstall ldc

Actually, this is my first experience with FreeBSD,
I did not have much to go deeper.


That's nice trying new things ;)


Yeah, but as I've already said, "new thing" for was kqueue.
That's all.



Oh, no, sorry. :)
It is the problem of FreeBSD maintainers to have fresh ldc in 
the distribution.


Yeah, don't use the "pkg" version as it is outdated.


But i like to use software out of the box and
do not like compile it from source.

It is very hard to keep a whole OS (thousands of packages) up 
to date. So yeah, uninstall your current ldc and trying with 
the one from the link I gave you and tell me the output


I do not see any reason for me to do this.
The "problem" (with dmd, not with ldc) is
that despite phobos does contain everthing for ver 12+,
the version itself is incorrect.



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn
On Tuesday, 21 December 2021 at 19:13:19 UTC, Steven 
Schveighoffer wrote:

On 12/21/21 1:50 PM, eugene wrote:

```d
     version (FreeBSD_12) enum __FreeBSD_version = 1202000;
else version (FreeBSD_11) enum __FreeBSD_version = 1104000;
else version (FreeBSD_10) enum __FreeBSD_version = 1004000;
else version (FreeBSD_9)  enum __FreeBSD_version = 903000;
else version (FreeBSD_8)  enum __FreeBSD_version = 804000;
else static assert(false, "Unsupported version of FreeBSD");
```

but __FreeBSD_version is 1104000 anyway.


Not sure how those versions are set. I have a hard time 
following the dmd code to see where it might check the 
current-running OS to check for the version.


I think, it'd be nice to set it in /etc/dmd.conf
Or.. is it bad idea?..



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread rempas via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 19:00:04 UTC, eugene wrote:


Well, I just installed it by

   pkg intstall ldc

Actually, this is my first experience with FreeBSD,
I did not have much to go deeper.


That's nice trying new things ;)



Oh, no, sorry. :)
It is the problem of FreeBSD maintainers to have fresh ldc in 
the distribution.


Yeah, don't use the "pkg" version as it is outdated. It is very 
hard to keep a whole OS (thousands of packages) up to date. So 
yeah, uninstall your current ldc and trying with the one from the 
link I gave you and tell me the output


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread Steven Schveighoffer via Digitalmars-d-learn

On 12/21/21 1:50 PM, eugene wrote:

On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:
I think the fix is needed here: 
https://github.com/dlang/dmd/blob/ad8412530e607ffebec36f2dbdff1a6f2798faf7/src/dmd/target.d#L362-L372 



looks like this.

it is a little bit strange, that in
/usr/include/d/dmd/core/sys/freebsd/config.d
there is ver 12:

```d
     version (FreeBSD_12) enum __FreeBSD_version = 1202000;
else version (FreeBSD_11) enum __FreeBSD_version = 1104000;
else version (FreeBSD_10) enum __FreeBSD_version = 1004000;
else version (FreeBSD_9)  enum __FreeBSD_version = 903000;
else version (FreeBSD_8)  enum __FreeBSD_version = 804000;
else static assert(false, "Unsupported version of FreeBSD");
```

but __FreeBSD_version is 1104000 anyway.


Not sure how those versions are set. I have a hard time following the 
dmd code to see where it might check the current-running OS to check for 
the version.


-Steve


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:

On Tuesday, 21 December 2021 at 10:28:15 UTC, eugene wrote:

On Monday, 20 December 2021 at 21:19:43 UTC, rempas wrote:
I would recommend you to file an 
[issue](https://issues.dlang.org/) just so the developers 
themself can notice it.


filed an issue, see
https://issues.dlang.org/show_bug.cgi?id=22615


Please add which compiler(s) you have tried in the bug report.


done, added a couple of comments




Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 18:42:10 UTC, rempas wrote:
I'm wondering what happens in the latest LDC2 version. Your 
version is from 1 year and 4 months ago.


Well, I just installed it by

   pkg intstall ldc

Actually, this is my first experience with FreeBSD,
I did not have much to go deeper.

The 
[latest](https://github.com/ldc-developers/ldc/releases/tag/v1.28.0) release offers pre built binaries from FreeBSD so can you grab one and test to see if there are any changes?


Oh, no, sorry. :)
It is the problem of FreeBSD maintainers to have fresh ldc in the 
distribution.




Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:
I think the fix is needed here: 
https://github.com/dlang/dmd/blob/ad8412530e607ffebec36f2dbdff1a6f2798faf7/src/dmd/target.d#L362-L372


looks like this.

it is a little bit strange, that in
/usr/include/d/dmd/core/sys/freebsd/config.d
there is ver 12:

```d
version (FreeBSD_12) enum __FreeBSD_version = 1202000;
else version (FreeBSD_11) enum __FreeBSD_version = 1104000;
else version (FreeBSD_10) enum __FreeBSD_version = 1004000;
else version (FreeBSD_9)  enum __FreeBSD_version = 903000;
else version (FreeBSD_8)  enum __FreeBSD_version = 804000;
else static assert(false, "Unsupported version of FreeBSD");
```

but __FreeBSD_version is 1104000 anyway.









Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread rempas via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 18:35:43 UTC, eugene wrote:


LDC2 stdlib does not have correct struct event_t for 12+ in
/usr/local/include/d/core/sys/freebsd/sys/event.d at all,
only for earlier versions, ie without extension field.

DMD stdlib does have, the only problem is the OS version is 
wrong.


---
@bsd:~/d> ldc2 -v
binary/usr/local/bin/ldc2
version   1.23.0 (DMD v2.093.1, LLVM 10.0.1)


I'm wondering what happens in the latest LDC2 version. Your 
version is from 1 year and 4 months ago. The 
[latest](https://github.com/ldc-developers/ldc/releases/tag/v1.28.0) release offers pre built binaries from FreeBSD so can you grab one and test to see if there are any changes?


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 18:28:12 UTC, rempas wrote:
I would love to see more full (and correct) support for 
FreeBSD, OpenBSD and DragonflyBSD from Dlang! Maybe one day..


My interest was kqueue facility.
I use linux epoll facility a lot in my progs,
and just wanted to do some exersises with kqueue



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 17:32:44 UTC, rempas wrote:

Yeah, you are right! Please eugene use LDC2 and check confirm


LDC2 stdlib does not have correct struct event_t for 12+ in
/usr/local/include/d/core/sys/freebsd/sys/event.d at all,
only for earlier versions, ie without extension field.

DMD stdlib does have, the only problem is the OS version is wrong.

---
@bsd:~/d> ldc2 -v
binary/usr/local/bin/ldc2
version   1.23.0 (DMD v2.093.1, LLVM 10.0.1)



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread rempas via Digitalmars-d-learn
I would love to see more full (and correct) support for FreeBSD, 
OpenBSD and DragonflyBSD from Dlang! Maybe one day..


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 17:32:44 UTC, rempas wrote:
Please eugene use LDC2 and check confirm that the behavior is 
the same there.


Phobos that shipped with LDC, does not have 
core.sys.freebsd.config

So

```d
import std.stdio;
//import core.sys.freebsd.config;
import core.sys.freebsd.sys.event;

void main(string[] args) {
//writefln("FreeBSD_version = %s", __FreeBSD_version);
writefln("sizeof(kevent_t) = %s", kevent_t.sizeof);
}
```

and

```
@bsd:~/d> ldc2 freebsdver.d
@bsd:~/d> ./freebsdver
sizeof(kevent_t) = 32
```

As you see, sizeof struct kevent_t is also wrong, must be 64:

exerpt from /usr/include/sys/event.h

```c
struct kevent {
__uintptr_t ident;  // identifier for this 
event

short   filter; // filter for event
unsigned short  flags;  // action flags for kqueue
unsigned intfflags; // filter flag value
__int64_t   data;   // filter data value
void*udata; // opaque user data 
identifier

__uint64_t  ext[4]; // extensions
};

#if defined(_WANT_FREEBSD11_KEVENT)
// Older structure used in FreeBSD 11.x and older.
struct kevent_freebsd11 {
__uintptr_t ident;  // identifier for this 
event

short   filter; // filter for event
unsigned short  flags;
unsigned intfflags;
__intptr_t  data;
void*udata; // opaque user data 
identifier

};
#endif
```



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 17:32:44 UTC, rempas wrote:

On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:


Please add which compiler(s) you have tried in the bug report.


Yeah, you are right! Please eugene use LDC2 and check confirm 
that the behavior is the same there.


I have. Same picture.

Yeah, I think it is very clear as there is no case for FreeBSD 
13. So probably this will be easily fixed


Yes, one need to let compiler see actual OS version.
I just do not know how to do it and do it correctly.



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread rempas via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 17:00:06 UTC, Johan wrote:


Please add which compiler(s) you have tried in the bug report.



Yeah, you are right! Please eugene use LDC2 and check confirm 
that the behavior is the same there.


I think the fix is needed here: 
https://github.com/dlang/dmd/blob/ad8412530e607ffebec36f2dbdff1a6f2798faf7/src/dmd/target.d#L362-L372




Yeah, I think it is very clear as there is no case for FreeBSD 
13. So probably this will be easily fixed


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread Johan via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 10:28:15 UTC, eugene wrote:

On Monday, 20 December 2021 at 21:19:43 UTC, rempas wrote:
I would recommend you to file an 
[issue](https://issues.dlang.org/) just so the developers 
themself can notice it.


filed an issue, see
https://issues.dlang.org/show_bug.cgi?id=22615


Please add which compiler(s) you have tried in the bug report.

I think the fix is needed here: 
https://github.com/dlang/dmd/blob/ad8412530e607ffebec36f2dbdff1a6f2798faf7/src/dmd/target.d#L362-L372


-Johan



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread rempas via Digitalmars-d-learn

On Tuesday, 21 December 2021 at 10:28:15 UTC, eugene wrote:


filed an issue, see
https://issues.dlang.org/show_bug.cgi?id=22615


Nice! Hope they see and fix it soon! Love for open source 
Operating Systems!!


Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-21 Thread eugene via Digitalmars-d-learn

On Monday, 20 December 2021 at 21:19:43 UTC, rempas wrote:
I would recommend you to file an 
[issue](https://issues.dlang.org/) just so the developers 
themself can notice it.


filed an issue, see
https://issues.dlang.org/show_bug.cgi?id=22615



Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-20 Thread eugene via Digitalmars-d-learn

On Monday, 20 December 2021 at 21:19:43 UTC, rempas wrote:

I don't have FreeBSD and I can't check the output and header


I have it VirtualBox

files myself but from what you are saying this seems to me as a 
bug. I would recommend you to file an 
[issue](https://issues.dlang.org/) just so the developers 
themself can notice it


Ok.




Re: FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-20 Thread rempas via Digitalmars-d-learn

On Sunday, 19 December 2021 at 09:49:29 UTC, eugene wrote:

test program:

```d
import std.stdio;
import core.sys.freebsd.config;
import core.sys.freebsd.sys.event;

void main(string[] args) {
writefln("FreeBSD_version = %s", __FreeBSD_version);
writefln("sizeof(kevent_t) = %s", kevent_t.sizeof);
}
```

output:

@bsd:~/d> ./freebsdver
FreeBSD_version = 1104000
sizeof(kevent_t) = 32

@bsd:~/d> uname -K
1300139

/usr/include/d/dmd/core/sys/freebsd/sys/event.h **do** contain 
correct definition of kevent_t for versions 12+ (with ulong[4] 
ext field), but because of wrong kernel version size of 
kevent_t is also incorrect.


I don't have FreeBSD and I can't check the output and header 
files myself but from what you are saying this seems to me as a 
bug. I would recommend you to file an 
[issue](https://issues.dlang.org/) just so the developers 
themself can notice it. We have nothing to loss in any case


FreeBSD 13 : wrong kernel version and size of kevent_t

2021-12-19 Thread eugene via Digitalmars-d-learn

test program:

```d
import std.stdio;
import core.sys.freebsd.config;
import core.sys.freebsd.sys.event;

void main(string[] args) {
writefln("FreeBSD_version = %s", __FreeBSD_version);
writefln("sizeof(kevent_t) = %s", kevent_t.sizeof);
}
```

output:

@bsd:~/d> ./freebsdver
FreeBSD_version = 1104000
sizeof(kevent_t) = 32

@bsd:~/d> uname -K
1300139

/usr/include/d/dmd/core/sys/freebsd/sys/event.h **do** contain 
correct definition of kevent_t for versions 12+ (with ulong[4] 
ext field), but because of wrong kernel version size of kevent_t 
is also incorrect.