#3472 closed project (fixed)

Update of libbsd to a version close to the FreeBSD 12 release

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: network/libbsd Version: 5
Severity: normal Keywords:
Cc: Blocked By: #3507, #3508
Blocking:

Description

The FreeBSD project is about to prepare the FreeBSD 12 release soon:

https://www.freebsd.org/releases/12.0R/schedule.html

Use this time frame to update the libbsd stepwise to a FreeBSD trunk version close to the FreeBSD 12 release.

Change History (35)

comment:1 Changed on 07/19/18 at 05:28:07 by Sebastian Huber

Summary: Update of libbsd to close to FreeBSD 12 releaseUpdate of libbsd to a version close to the FreeBSD 12 release

comment:2 Changed on 08/08/18 at 06:50:24 by Sebastian Huber <sebastian.huber@…>

In 71948f76/rtems:

sys/event.h: Update version FreeBSD tag

Update #3472.

comment:3 Changed on 08/10/18 at 05:16:12 by Sebastian Huber <sebastian.huber@…>

In b8eae140/rtems:

Add dummy PRI_MIN_KERN to <sys/priority.h>

Update #3472.

comment:4 Changed on 08/23/18 at 12:39:04 by Sebastian Huber <sebastian.huber@…>

In a36aa86/rtems:

Add dummy PI_SOFT to <sys/priority.h>

Update #3472.

comment:5 Changed on 08/24/18 at 07:08:28 by Sebastian Huber <sebastian.huber@…>

In 6695d02/rtems:

Update FreeBSD kernel timespec support

This change is based on the following FreeBSD commit:

"Make timespecadd(3) and friends public

The timespecadd(3) family of macros were imported from NetBSD back in
r35029. However, they were initially guarded by #ifdef _KERNEL. In the
meantime, we have grown at least 28 syscalls that use timespecs in some
way, leading many programs both inside and outside of the base system to
redefine those macros. It's better just to make the definitions public.

Our kernel currently defines two-argument versions of timespecadd and
timespecsub. NetBSD, OpenBSD, and FreeDesktop?.org's libbsd, however, define
three-argument versions. Solaris also defines a three-argument version, but
only in its kernel. This revision changes our definition to match the
common three-argument version.

Bump _FreeBSD_version due to the breaking KPI change.

Discussed with: cem, jilles, ian, bde
Differential Revision: https://reviews.freebsd.org/D14725"

To make the change public (outside #ifdef _KERNEL) it must be integrated
in Newlib.

Update #3472.

comment:6 Changed on 08/24/18 at 07:37:03 by Sebastian Huber <sebastian.huber@…>

In f62c62d/rtems-libbsd:

Update rtems-bsd-kernel-namespace.h

Update #3472.

comment:7 Changed on 08/27/18 at 05:41:55 by Sebastian Huber <sebastian.huber@…>

In 27c89d7/rtems:

Add FreeBSD kernel space header files

Move the kernel space content of some Newlib provided header files to
RTEMS and libbsd. This allows to use the Newlib provided header files
with different FreeBSD baselines.

Update #3472.

comment:8 Changed on 08/27/18 at 05:42:05 by Sebastian Huber <sebastian.huber@…>

In 6d70a11/rtems:

Include <stdbool.h> in <machine/_kernel_types.h>

The FreeBSD kernel started to use the bool type.

Update #3472.

comment:9 Changed on 08/27/18 at 05:45:56 by Sebastian Huber <sebastian.huber@…>

In 63084c1/rtems-libbsd:

IPFW(4): Remove FreeBSD import

This firewall was not ported to RTEMS and is just dead code which may
make trouble during FreeBSD baseline updates. It also increased the
compile-time of the library for nothing.

Update #3472.

comment:10 Changed on 08/27/18 at 05:46:04 by Sebastian Huber <sebastian.huber@…>

In ee738dd/rtems-libbsd:

WPA_SUPPLICANT(8): Remove unused files

Remove unused files which may make trouble during FreeBSD baseline
updates. It also increased the compile-time of the library for nothing.

Update #3472.

comment:11 Changed on 08/27/18 at 05:46:12 by Sebastian Huber <sebastian.huber@…>

In 4c22b5c/rtems-libbsd:

Add FreeBSD kernel space header files

Move the kernel space content of some Newlib provided header files to
RTEMS and libbsd. This allows to use the Newlib provided header files
with different FreeBSD baselines.

Update #3472.

comment:12 Changed on 08/27/18 at 05:46:19 by Sebastian Huber <sebastian.huber@…>

In dd60daa/rtems-libbsd:

Allow *.c as kernel space header files

This is a workaround for the FreeBSD kernel space source file

sys/opencrypto/xform.c

which includes a bunch of *.c files.

Update #3472.

comment:13 Changed on 08/28/18 at 05:13:25 by Sebastian Huber <sebastian.huber@…>

In 0230202/rtems-source-builder:

5: Update Newlib

Pick up POSIX header file changes for an upcomming FreeBSD baseline
update in libbsd.

Update #3472.
Close #3491.

comment:14 Changed on 08/28/18 at 06:06:30 by Sebastian Huber

Blocked By: 3507 added

comment:15 Changed on 08/28/18 at 07:41:50 by Sebastian Huber <sebastian.huber@…>

In 100e66f/rtems-libbsd:

kvaddr_t is now provided by <sys/types.h>

Update #3472.

comment:16 Changed on 08/29/18 at 12:24:14 by Sebastian Huber

Blocked By: 3508 added

comment:17 Changed on 09/10/18 at 09:37:39 by Sebastian Huber <sebastian.huber@…>

In e58f1cd3/rtems:

Add more dummy values to <sys/priority.h>

Update #3472.

comment:18 Changed on 09/21/18 at 08:36:41 by Sebastian Huber <sebastian.huber@…>

In ab4fe11/rtems-libbsd:

CONTRIBUTING.md: Avoid explicit commit numbers

Update #3472.

comment:19 Changed on 09/21/18 at 08:36:48 by Sebastian Huber <sebastian.huber@…>

In 2707771/rtems-libbsd:

libbsd.txt: Avoid explicit versions

Update #3472.

comment:20 Changed on 09/21/18 at 08:37:13 by Sebastian Huber <sebastian.huber@…>

In de261e0/rtems-libbsd:

Update to FreeBSD head 2017-06-01

Git mirror commit dfb26efac4ce9101dda240e94d9ab53f80a9e131.

Update #3472.

comment:21 Changed on 09/21/18 at 08:37:23 by Sebastian Huber <sebastian.huber@…>

In c37f9fb/rtems-libbsd:

Update to FreeBSD head 2017-08-01

Git mirror commit f5002f5e5f78cae9f0269d812dc0aedb0339312c.

Update #3472.

comment:22 Changed on 09/21/18 at 08:37:32 by Sebastian Huber <sebastian.huber@…>

In e4a8065/rtems-libbsd:

Update to FreeBSD head 2017-10-01

Git mirror commit b2f0376b45428f13151d229c5ae9d4d8f74acbd1.

Update #3472.

comment:23 Changed on 09/21/18 at 08:37:46 by Sebastian Huber <sebastian.huber@…>

In bb80d9d/rtems-libbsd:

Update to FreeBSD head 2017-12-01

Git mirror commit e724f51f811a4b2bd29447f8b85ab5c2f9b88266.

Update #3472.

comment:24 Changed on 09/21/18 at 08:37:57 by Sebastian Huber <sebastian.huber@…>

In 18fa92c/rtems-libbsd:

Update to FreeBSD head 2018-02-01

Git mirror commit d079ae0442af8fa3cfd6d7ede190d04e64a2c0d4.

Update #3472.

comment:25 Changed on 09/21/18 at 08:38:07 by Sebastian Huber <sebastian.huber@…>

In 2df56db/rtems-libbsd:

Update to FreeBSD head 2018-04-01

Git mirror commit 8dfb1ccc26d1cea7e2529303003ff61f9f1784c4.

Update #3472.

comment:26 Changed on 09/21/18 at 08:38:20 by Sebastian Huber <sebastian.huber@…>

In bcdce02/rtems-libbsd:

Update to FreeBSD head 2018-06-01

Git mirror commit fb63610a69b0eb7f69a201ba05c4c1a7a2739cf9.

Update #3472.

comment:27 Changed on 09/21/18 at 08:38:28 by Sebastian Huber <sebastian.huber@…>

In baf1ca7/rtems-libbsd:

ck: Use atomic built-ins

Update #3472.

comment:28 Changed on 09/21/18 at 08:38:35 by Sebastian Huber <sebastian.huber@…>

In 3becda1/rtems-libbsd:

ck: Define CK_MD_PPC32_LWSYNC if available

This is option has a huge performance impact.

Update #3472.

comment:29 Changed on 09/21/18 at 08:38:50 by Sebastian Huber <sebastian.huber@…>

In 3489e3b/rtems-libbsd:

Update to FreeBSD head 2018-09-17

Git mirror commit 6c2192b1ef8c50788c751f878552526800b1e319.

Update #3472.

comment:30 Changed on 09/21/18 at 08:38:58 by Sebastian Huber <sebastian.huber@…>

In 1af372a/rtems-libbsd:

ck: No hardware barriers in uniprocessor configs

Update #3472.

comment:31 Changed on 09/21/18 at 08:39:06 by Sebastian Huber <sebastian.huber@…>

In be6515d/rtems-libbsd:

ck: Use relaxed memory order if possible

In uniprocessor configurations we can use a relaxed memory order and
compiler memory barriers should be sufficient.

Update #3472.

comment:32 Changed on 09/24/18 at 06:01:50 by Sebastian Huber <sebastian.huber@…>

In 7aba2a4/rtems-libbsd:

ck: Install header files

Update #3472.

comment:33 Changed on 12/13/18 at 10:34:48 by Sebastian Huber <sebastian.huber@…>

In f80abf0/rtems-source-builder:

5: Update Newlib

Pick up <sys/time.h> updates from FreeBSD.

Update #3472.

comment:34 Changed on 12/21/18 at 11:04:36 by Sebastian Huber <sebastian.huber@…>

In 78dc8cd/rtems-source-builder:

5: Update Newlib

Pick up FreeBSD compatibility improvements.

Update #3472.

comment:35 Changed on 01/24/19 at 06:35:25 by Sebastian Huber

Resolution: fixed
Status: assignedclosed

The master branch is now based on a post FreeBSD 12 release trunk. There is now also a 5-freebsd-12 branch which tracks the FreeBSD stable/12 branch.

Note: See TracTickets for help on using tickets.